From 9e11e01323f59d0a2dfa9d080f29bbc27452db19 Mon Sep 17 00:00:00 2001 From: reffy-bot <> Date: Thu, 5 Dec 2024 12:49:06 +0000 Subject: [PATCH] Update of ED report from new reffy run Using reffy commit 18.0.0. --- ed/algorithms/WebCryptoAPI.json | 2089 ++++++++++++++++++++++--------- ed/algorithms/webdriver2.json | 36 +- ed/dfns/WebCryptoAPI.json | 68 +- ed/dfns/webdriver2.json | 19 + ed/headings/WebCryptoAPI.json | 175 ++- ed/ids/WebCryptoAPI.json | 743 +++++++---- ed/ids/html.json | 14 + ed/ids/webdriver2.json | 8 +- ed/index.json | 28 +- ed/links/WebCryptoAPI.json | 32 +- ed/links/html.json | 2 + ed/refs/WebCryptoAPI.json | 16 + 12 files changed, 2249 insertions(+), 981 deletions(-) diff --git a/ed/algorithms/WebCryptoAPI.json b/ed/algorithms/WebCryptoAPI.json index 00e222ecabe9..bce7feec17c5 100644 --- a/ed/algorithms/WebCryptoAPI.json +++ b/ed/algorithms/WebCryptoAPI.json @@ -23,7 +23,7 @@ "html": "
\n Parse data according to the Distinguished Encoding Rules of\n [X690], using structure as the ASN.1 structure\n to be decoded.\n
" }, { - "html": "\n If exactData was specified, and all of the bytes of data were\n not consumed during the parsing phase, then\n throw a\n DataError
.\n
\n If exactData was specified, and all of the bytes of data were\n not consumed during the parsing phase, then\n throw a\n DataError
.\n
\n Return the parsed ASN.1 structure.\n
" @@ -52,7 +52,7 @@ "html": "\n Let key be the result of converting result to the IDL dictionary\n type of JsonWebKey
.\n
\n If the kty
field of key is not defined, then throw a DataError
.\n
\n If the kty
field of key is not defined, then throw a DataError
.\n
\n Return key.\n
" @@ -92,10 +92,10 @@ "rationale": "if", "steps": [ { - "html": "\n If array is not an Int8Array
, Uint8Array
, Uint8ClampedArray
,\n Int16Array
, Uint16Array
, Int32Array
, Uint32Array
,\n BigInt64Array
, or BigUint64Array
, then throw a\n TypeMismatchError
and\n terminate the algorithm.\n
\n If array is not an Int8Array
, Uint8Array
, Uint8ClampedArray
,\n Int16Array
, Uint16Array
, Int32Array
, Uint32Array
,\n BigInt64Array
, or BigUint64Array
, then throw a\n TypeMismatchError
and\n terminate the algorithm.\n
\n If the byteLength
of array is greater than 65536, throw a\n QuotaExceededError
and\n terminate the algorithm.\n
\n If the byteLength
of array is greater than 65536, throw a\n QuotaExceededError
and\n terminate the algorithm.\n
\n Overwrite all elements of array with cryptographically strong random values of\n the appropriate type.\n
" @@ -112,7 +112,7 @@ "rationale": "let", "steps": [ { - "html": "Let bytes be a byte sequence of length 16." + "html": "Let bytes be a byte sequence of length 16." }, { "html": "Fill bytes with cryptographically secure random bytes." @@ -124,7 +124,7 @@ "html": "Set the 2 most significant bits of bytes[8], which represent the\n UUID variant, to10
."
},
{
- "html": "\n Return the string concatenation of «\n
\n \n\n ».\n
", + "html": "\n Return the string concatenation of «\n
\n \n\n ».\n
", "ignored": [ "hexadecimal representation of bytes[0], hexadecimal representation of bytes[1], hexadecimal representation of bytes[2], hexadecimal representation of bytes[3], \"-\", hexadecimal representation of bytes[4], hexadecimal representation of bytes[5], \"-\", hexadecimal representation of bytes[6], hexadecimal representation of bytes[7], \"-\", hexadecimal representation of bytes[8], hexadecimal representation of bytes[9], \"-\", hexadecimal representation of bytes[10], hexadecimal representation of bytes[11], hexadecimal representation of bytes[12], hexadecimal representation of bytes[13], hexadecimal representation of bytes[14], hexadecimal representation of bytes[15]" ] @@ -132,7 +132,7 @@ ] }, { - "html": "CryptoKey
objects are serializable objects. Their serialization steps,\n given value and serialized, are:",
+ "html": "CryptoKey
objects are serializable objects. Their serialization steps,\n given value and serialized, are:",
"rationale": "set",
"steps": [
{
@@ -142,10 +142,10 @@
"html": "Set serialized.[[Extractable]] to the [[extractable]]
internal slot of value."
},
{
- "html": "Set serialized.[[Algorithm]] to the sub-serialization of the\n [[algorithm]]
internal slot of value."
+ "html": "Set serialized.[[Algorithm]] to the sub-serialization of the\n [[algorithm]]
internal slot of value."
},
{
- "html": "Set serialized.[[Usages]] to the sub-serialization of the\n [[usages]]
internal slot of value."
+ "html": "Set serialized.[[Usages]] to the sub-serialization of the\n [[usages]]
internal slot of value."
},
{
"html": "Set serialized.[[Handle]] to the [[handle]]
internal slot of value."
@@ -153,7 +153,7 @@
]
},
{
- "html": "Their deserialization steps, given serialized and value, are:",
+ "html": "Their deserialization steps, given serialized and value, are:",
"rationale": "initialize",
"steps": [
{
@@ -163,10 +163,10 @@
"html": "Initialize the [[extractable]]
internal slot of value to serialized.[[Extractable]]."
},
{
- "html": "Initialize the [[algorithm]]
internal slot of value to the\n sub-deserialization of serialized.[[Algorithm]]."
+ "html": "Initialize the [[algorithm]]
internal slot of value to the\n sub-deserialization of serialized.[[Algorithm]]."
},
{
- "html": "Initialize the [[usages]]
internal slot of value to the\n sub-deserialization of serialized.[[Usages]]."
+ "html": "Initialize the [[usages]]
internal slot of value to the\n sub-deserialization of serialized.[[Usages]]."
},
{
"html": "Initialize the [[handle]]
internal slot of value to serialized.[[Handle]]."
@@ -183,7 +183,7 @@
"html": "\n Let algorithm and key be the\n algorithm
and key
parameters\n passed to the encrypt
()
method,\n respectively.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n encrypt
()
method.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n encrypt
()
method.\n
\n Let normalizedAlgorithm be the result of\n normalizing an algorithm, with\n alg
set to algorithm and op
set to\n \"encrypt
\".\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"encrypt
\", then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"encrypt
\", then throw an InvalidAccessError
.\n
\n Let ciphertext be the result of performing the encrypt\n operation specified by normalizedAlgorithm using algorithm\n and key and with data as plaintext.\n
" @@ -224,7 +224,7 @@ "html": "\n Let algorithm and key be the\n algorithm
and key
parameters\n passed to the decrypt
()
method,\n respectively.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n decrypt
()
method.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n decrypt
()
method.\n
\n Let normalizedAlgorithm be the result of\n normalizing an algorithm, with\n alg
set to algorithm and op
set to\n \"decrypt
\".\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and the remaining steps in parallel.\n
" + "html": "\n Return promise and the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"decrypt
\", then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"decrypt
\", then throw an InvalidAccessError
.\n
\n Let plaintext be the result of performing the decrypt\n operation specified by normalizedAlgorithm using key\n and algorithm\n and with data as ciphertext.\n
" @@ -265,7 +265,7 @@ "html": "\n Let algorithm and key be the\n algorithm
and key
parameters\n passed to the sign
()
method,\n respectively.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n sign
()
method.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n sign
()
method.\n
\n Let normalizedAlgorithm be the result of\n normalizing an algorithm, with\n alg
set to algorithm and op
set to\n \"sign
\".\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"sign
\", then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"sign
\", then throw an InvalidAccessError
.\n
\n Let result be the result of performing the sign operation\n specified by normalizedAlgorithm using key and\n algorithm and with data as message.\n
" @@ -306,10 +306,10 @@ "html": "\n Let algorithm and key\n be the algorithm
and key
parameters passed to the\n verify
()
method, respectively.\n
\n Let signature be the result of\n getting a copy of the bytes held by the signature
parameter passed to the\n verify
()
method.\n
\n Let signature be the result of\n getting a copy of the bytes held by the signature
parameter passed to the\n verify
()
method.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n verify
()
method.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n verify
()
method.\n
\n Let normalizedAlgorithm be the result of\n normalizing an algorithm, with\n alg
set to algorithm and op
set to\n \"verify
\".\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining stepsin parallel.\n
" + "html": "\n Return promise and perform the remaining stepsin parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n key then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"verify
\", then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n key does not contain an entry that is \"verify
\", then throw an InvalidAccessError
.\n
\n Let result be the result of performing the verify operation\n specified by normalizedAlgorithm using key,\n algorithm and\n signature and with data as message.\n
" @@ -350,7 +350,7 @@ "html": "\n Let algorithm be the algorithm
parameter passed to the\n digest
()
method.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n digest
()
method.\n
\n Let data be the result of\n getting a copy of the bytes held by the data
parameter passed to the\n digest
()
method.\n
\n Let normalizedAlgorithm be the result of\n normalizing an algorithm, with\n alg
set to algorithm and op
set to\n \"digest
\".\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { "html": "\n Let result be the result of performing the digest\n operation specified by normalizedAlgorithm using\n algorithm, with data\n as message.\n
" @@ -394,16 +394,16 @@ "html": "\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { "html": "\n Let result be the result of performing the generate key operation\n specified by normalizedAlgorithm using\n algorithm, extractable and usages.\n
" }, { - "html": "CryptoKey
object:\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
CryptoKeyPair
object:\n If the [[usages]]
internal slot of the\n privateKey
attribute of\n result is the empty sequence, then\n throw a SyntaxError
.\n
CryptoKey
object:\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
CryptoKeyPair
object:\n If the [[usages]]
internal slot of the\n privateKey
attribute of\n result is the empty sequence, then\n throw a SyntaxError
.\n
\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n If the [[usages]]
internal slot of the\n privateKey
attribute of\n result is the empty sequence, then\n throw a SyntaxError
.\n
\n If the [[usages]]
internal slot of the\n privateKey
attribute of\n result is the empty sequence, then\n throw a SyntaxError
.\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n baseKey then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n baseKey then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n baseKey does not contain an entry that is \"deriveKey
\",\n then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n baseKey does not contain an entry that is \"deriveKey
\",\n then throw an InvalidAccessError
.\n
\n Let length be the result of performing the get key length\n algorithm specified by normalizedDerivedKeyAlgorithmLength using\n derivedKeyType.\n
" @@ -478,7 +478,7 @@ "html": "\n Let result be the result of performing the import key operation\n specified by normalizedDerivedKeyAlgorithmImport using \"raw
\" as\n format, secret as keyData,\n derivedKeyType as algorithm and using\n extractable and usages.\n
\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n Set the [[extractable]]
internal\n slot of result to extractable.\n
\n Let promise be a new Promise object.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n baseKey then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n baseKey then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n baseKey does not contain an entry that is \"deriveBits
\",\n then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n baseKey does not contain an entry that is \"deriveBits
\",\n then throw an InvalidAccessError
.\n
\n Let result be the result of creating an ArrayBuffer
\n containing the result of performing the derive bits operation\n specified by normalizedAlgorithm using baseKey,\n algorithm and length.\n
\n Let result be the result of creating an ArrayBuffer
\n containing the result of performing the derive bits operation\n specified by normalizedAlgorithm using baseKey,\n algorithm and length.\n
\n Resolve promise with\n result.\n
" @@ -551,10 +551,10 @@ "rationale": "if", "steps": [ { - "html": "\n If the keyData
parameter passed to the\n importKey
()
method is a\n JsonWebKey
dictionary, throw a\n TypeError
.\n
\n If the keyData
parameter passed to the\n importKey
()
method is a\n JsonWebKey
dictionary, throw a\n TypeError
.\n
\n Let keyData be the result of\n getting a copy of the bytes held by the\n keyData
parameter passed to the\n importKey
()
method.\n
\n Let keyData be the result of\n getting a copy of the bytes held by the\n keyData
parameter passed to the\n importKey
()
method.\n
\n If the keyData
parameter passed to the\n importKey
()
method is not a\n JsonWebKey
dictionary, throw a\n TypeError
.\n
\n If the keyData
parameter passed to the\n importKey
()
method is not a\n JsonWebKey
dictionary, throw a\n TypeError
.\n
\n Let keyData be the keyData
parameter passed to the\n importKey
()
method.\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { "html": "\n Let result be the CryptoKey
object that\n results from performing the import key operation specified by\n normalizedAlgorithm using keyData,\n algorithm,\n format, extractable and usages.\n
\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n Set the [[extractable]]
internal\n slot of result to extractable.\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of the [[algorithm]]
internal slot of\n key does not identify a registered algorithm\n that supports the export key operation, then throw a NotSupportedError
.\n
\n If the name
member of the [[algorithm]]
internal slot of\n key does not identify a registered algorithm\n that supports the export key operation, then throw a NotSupportedError
.\n
\n If the [[extractable]]
internal slot\n of key is false, then throw an InvalidAccessError
.\n
\n If the [[extractable]]
internal slot\n of key is false, then throw an InvalidAccessError
.\n
\n Let result be the result of performing the export key operation\n specified by the [[algorithm]]
\n internal slot of key using key and format.\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n wrappingKey then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n wrappingKey then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n wrappingKey does not contain an entry that is \"wrapKey
\",\n then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n wrappingKey does not contain an entry that is \"wrapKey
\",\n then throw an InvalidAccessError
.\n
\n If the algorithm identified by the [[algorithm]]
internal slot of\n key does not support the export key operation, then throw a NotSupportedError
.\n
\n If the algorithm identified by the [[algorithm]]
internal slot of\n key does not support the export key operation, then throw a NotSupportedError
.\n
\n If the [[extractable]]
internal slot\n of key is false, then throw an InvalidAccessError
.\n
\n If the [[extractable]]
internal slot\n of key is false, then throw an InvalidAccessError
.\n
\n Let key be the result of performing the export key operation specified\n the [[algorithm]]
internal slot of\n key using key and format.\n
\n Let json be the result of representing key as a\n UTF-16 string conforming to the JSON grammar; for example, by executing\n the JSON.stringify
algorithm specified in\n [ECMA-262] in the context of a new global object.\n
\n Let bytes be the result of UTF-8 encoding json.\n
" + "html": "\n Let bytes be the result of UTF-8 encoding json.\n
" } ] } @@ -713,7 +713,7 @@ ] }, { - "html": "\n Let result be the result of performing the wrap key operation\n specified by normalizedAlgorithm using algorithm,\n wrappingKey as key and bytes as\n plaintext.\n
\n\n Let result be the result of performing the encrypt operation\n specified by normalizedAlgorithm using algorithm,\n wrappingKey as key and bytes as\n plaintext.\n
\nNotSupportedError
.\n \n Let result be the result of performing the wrap key operation\n specified by normalizedAlgorithm using algorithm,\n wrappingKey as key and bytes as\n plaintext.\n
\n\n Let result be the result of performing the encrypt operation\n specified by normalizedAlgorithm using algorithm,\n wrappingKey as key and bytes as\n plaintext.\n
\nNotSupportedError
.\n NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
@@ -750,7 +750,7 @@
"html": "\n Let format, unwrappingKey,\n algorithm, unwrappedKeyAlgorithm,\n extractable and usages,\n be the format
, unwrappingKey
,\n unwrapAlgorithm
, unwrappedKeyAlgorithm
,\n extractable
and keyUsages
\n parameters passed to the\n unwrapKey
()
method,\n respectively.\n
\n Let wrappedKey be the result of\n getting a copy of the bytes held by the\n wrappedKey
parameter passed to the\n unwrapKey
()
method.\n
\n Let wrappedKey be the result of\n getting a copy of the bytes held by the\n wrappedKey
parameter passed to the\n unwrapKey
()
method.\n
\n Let normalizedAlgorithm be the result of\n normalizing an algorithm, with\n alg
set to algorithm and op
set to\n \"unwrapKey
\".\n
\n Let promise be a new Promise.\n
" }, { - "html": "\n Return promise and perform the remaining steps in parallel.\n
" + "html": "\n Return promise and perform the remaining steps in parallel.\n
" }, { - "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" + "html": "\n If the following steps or referenced procedures say to\n throw an error,\n reject promise with\n the returned error and then\n terminate the algorithm.\n
" }, { - "html": "\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n unwrappingKey then throw an InvalidAccessError
.\n
\n If the name
member of\n normalizedAlgorithm is not equal to the\n name
attribute of the\n [[algorithm]]
internal slot of\n unwrappingKey then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n unwrappingKey does not contain an entry that is\n \"unwrapKey
\", then throw an InvalidAccessError
.\n
\n If the [[usages]]
internal slot of\n unwrappingKey does not contain an entry that is\n \"unwrapKey
\", then throw an InvalidAccessError
.\n
NotSupportedError
.\n NotSupportedError
.\n NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
@@ -828,7 +828,7 @@
"html": "\n Let result be the result of performing the import key operation\n specified by normalizedKeyAlgorithm using\n unwrappedKeyAlgorithm as algorithm, format,\n usages\n and extractable and with\n bytes as keyData.\n
" }, { - "html": "\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n If the [[type]]
internal slot of\n result is \"secret
\" or \"private
\" and\n usages is empty, then throw a SyntaxError
.\n
\n Set the [[extractable]]
internal\n slot of result to extractable.\n
BufferSource
and is\n present:\n HashAlgorithmIdentifier
:\n alg
set to idlValue and the\n op
set to \"digest
\".\n AlgorithmIdentifier
:\n alg
set to idlValue and the\n op
set to the operation defined by the specification\n that defines the algorithm identified by algName.\n BufferSource
and is\n present:\n HashAlgorithmIdentifier
:\n alg
set to idlValue and the\n op
set to \"digest
\".\n AlgorithmIdentifier
:\n alg
set to idlValue and the\n op
set to the operation defined by the specification\n that defines the algorithm identified by algName.\n \n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n Perform the signature generation operation defined in Section 8.2 of [RFC3447] with the key represented by the [[handle]]
internal slot of key\n as the signer's private key and the contents of message as\n M and using the hash function specified in the hash
attribute of the [[algorithm]]
internal slot of\n key as the Hash option for the EMSA-PKCS1-v1_5 encoding method.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n Let signature be the value S that results from\n performing the operation.\n
" }, { - "html": "\n Return the result of creating\n an ArrayBuffer
containing signature.\n
\n Return the result of creating\n an ArrayBuffer
containing signature.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n Perform the signature verification operation defined in Section 8.2 of\n [RFC3447] with the key represented by the\n [[handle]]
internal slot of\n key as the signer's RSA public key and the contents of message as\n M and the contents of\n signature as S and using the hash function specified\n in the hash
attribute of the\n [[algorithm]]
internal slot of\n key as the Hash option for the EMSA-PKCS1-v1_5 encoding method.\n
\n If usages contains an entry which is not\n \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n Generate an RSA key pair, as defined in [RFC3447], with RSA modulus length equal to the\n modulusLength
attribute of\n normalizedAlgorithm and RSA public exponent equal to the\n publicExponent
attribute of\n normalizedAlgorithm.\n
\n If generation of the key pair fails,\n then throw an\n OperationError
.\n
\n If generation of the key pair fails,\n then throw an\n OperationError
.\n
\n Let algorithm be a new\n RsaHashedKeyAlgorithm
\n dictionary.\n
Let keyData be the key data to be imported.
" }, { - "html": "spki
\":pkcs8
\":jwk
\":NotSupportedError
.\n spki
\":pkcs8
\":jwk
\":NotSupportedError
.\n \n If usages contains an entry which is not\n \"verify
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"verify
\",\n then throw a\n SyntaxError
.\n
\n Let spki be the result of running the\n parse a subjectPublicKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the rsaEncryption
\n object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the rsaEncryption
\n object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n Let publicKey be the result of performing the parse an ASN.1 structure\n algorithm, with data as the\n subjectPublicKeyInfo
field of spki,\n structure as the RSAPublicKey
structure\n specified in Section A.1.1 of [RFC3447], and\n exactData set to true.\n
\n If an error occurred while parsing, or it can be determined that publicKey\n is not a valid public key according to [RFC3447],\n then throw a\n DataError
.\n
\n If an error occurred while parsing, or it can be determined that publicKey\n is not a valid public key according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the RSA public key identified by\n publicKey.\n
\n If usages contains an entry which is not\n \"sign
\"\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"sign
\"\n then throw a\n SyntaxError
.\n
\n Let privateKeyInfo be the result of running the\n parse a privateKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n rsaEncryption
object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n rsaEncryption
object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n Let rsaPrivateKey be the result of performing the parse an ASN.1 structure\n algorithm, with data as the\n privateKey
field of privateKeyInfo,\n structure as the RSAPrivateKey
structure\n specified in Section A.1.2 of [RFC3447], and\n exactData set to true.\n
\n If an error occurred while parsing, or if rsaPrivateKey is not\n a valid RSA private key according to [RFC3447],\n then throw a\n DataError
.\n
\n If an error occurred while parsing, or if rsaPrivateKey is not\n a valid RSA private key according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the RSA private key identified by\n rsaPrivateKey.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the d
field of jwk is present and\n usages contains an entry which is not\n \"sign
\", or, if the d
field of jwk\n is not present and\n usages contains an entry which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If the d
field of jwk is present and\n usages contains an entry which is not\n \"sign
\", or, if the d
field of jwk\n is not present and\n usages contains an entry which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If the kty
field of jwk is not a\n case-sensitive string match to \"RSA
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not a\n case-sensitive string match to \"RSA
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not a case-sensitive string match to \"sig
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not a case-sensitive string match to \"sig
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n Let hash be a be a string whose initial value is\n undefined.\n
" @@ -1252,7 +1252,7 @@ "html": "\n Perform any key import steps defined by\n other applicable\n specifications, passing format, jwk\n and obtaining hash.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n Let normalizedHash be the result of\n normalize an algorithm\n with alg
set to hash and op
set\n to digest
.\n
\n If normalizedHash is not equal to the\n hash
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If normalizedHash is not equal to the\n hash
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.3.2 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.3.2 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n Let privateKey represents the\n RSA private key identified by interpreting jwk\n according to Section 6.3.2 of JSON Web\n Algorithms [JWA].\n
" }, { - "html": "\n If privateKey is not a valid RSA private key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n If privateKey is not a valid RSA private key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
object that represents\n privateKey.\n
\n If jwk does not meet the requirements of Section\n 6.3.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.3.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let publicKey represent the\n RSA public key identified by interpreting jwk\n according to Section 6.3.1 of JSON Web Algorithms [JWA].\n
" }, { - "html": "\n If publicKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n If publicKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
representing publicKey.\n
NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
@@ -1368,10 +1368,10 @@
"html": "\n Let key be the key to be exported.\n
" }, { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
spki
\"pkcs8
\":jwk
\":\n throw a\n NotSupportedError
.\n
spki
\"pkcs8
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let data be an instance of the subjectPublicKeyInfo
\n ASN.1 structure defined in [RFC5280]\n with the following properties:\n
\n Set the algorithm field to an\n AlgorithmIdentifier
ASN.1 type with the following\n properties:\n
\n Set the algorithm field to the OID\n rsaEncryption
defined in\n [RFC3447].\n
\n Set the params field to the ASN.1 type NULL.\n
\n\n Set the subjectPublicKey field to the result of\n DER-encoding an RSAPublicKey
ASN.1 type, as defined\n in [RFC3447], Appendix A.1.1, that\n represents the RSA public key represented by the [[handle]]
internal slot of\n key\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let data be the result of encoding a privateKeyInfo structure\n with the following properties:\n
\n\n Set the version field to 0.\n
\n\n Set the privateKeyAlgorithm field to a\n PrivateKeyAlgorithmIdentifier
ASN.1 type with the\n following properties:\n
\n Set the algorithm field to the OID\n rsaEncryption
defined in\n [RFC3447].\n
\n Set the params field to the ASN.1 type NULL.\n
\n\n Set the privateKey field to the result of DER-encoding\n an RSAPrivateKey
ASN.1 type, as defined in [RFC3447], Appendix A.1.2, that represents the\n RSA private key represented by the [[handle]]
internal slot of\n key\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Perform any key export steps defined by\n other applicable\n specifications, passing format, key\n and obtaining alg.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n NotSupportedError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n NotSupportedError
.\n
\n Set the alg
attribute of jwk to alg.\n
\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n Perform the signature generation operation defined in Section 8.1 of [RFC3447] with the key represented by the [[handle]]
internal slot of key\n as the signer's private key, K, and the contents of message as\n the message to be signed, M, and using the hash function specified\n by the hash
attribute of the\n [[algorithm]]
internal slot of\n key as the Hash option, MGF1 (defined in Section B.2.1 of [RFC3447]) as the MGF option and the saltLength member of\n normalizedAlgorithm as the salt length option for the\n EMSA-PSS-ENCODE operation.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n Let signature be the\n signature, S, that results from performing the operation.\n
" }, { - "html": "\n Return the result of creating\n an ArrayBuffer
containing signature.\n
\n Return the result of creating\n an ArrayBuffer
containing signature.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n Perform the signature verification operation defined in Section 8.1 of\n [RFC3447] with the key represented by the\n [[handle]]
internal slot of\n key as the signer's RSA public key and the contents of message as\n M and the contents of\n signature as S and using the hash function specified\n by the hash
attribute of the\n [[algorithm]]
internal slot of\n key as the Hash option, MGF1 (defined in Section B.2.1 of [RFC3447]) as the MGF option and the saltLength member of\n normalizedAlgorithm as the salt length option for the\n EMSA-PSS-VERIFY operation.\n
\n If usages contains an entry which is not\n \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n Generate an RSA key pair, as defined in [RFC3447], with RSA modulus length equal to the\n modulusLength
member of\n normalizedAlgorithm and RSA public exponent equal to the\n publicExponent
member of\n normalizedAlgorithm.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n Let algorithm be a new\n RsaHashedKeyAlgorithm
\n dictionary.\n
Let keyData be the key data to be imported.
" }, { - "html": "spki
\":pkcs8
\":jwk
\":NotSupportedError
.\n spki
\":pkcs8
\":jwk
\":NotSupportedError
.\n \n If usages contains an entry which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n Let spki be the result of running the\n parse a subjectPublicKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the rsaEncryption
\n object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the rsaEncryption
\n object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n Let publicKey be the result of performing the parse an ASN.1 structure\n algorithm, with data as the\n subjectPublicKeyInfo
field of spki,\n structure as the RSAPublicKey
structure\n specified in Section A.1.1 of [RFC3447], and\n exactData set to true.\n
\n If an error occurred while parsing, or it can be determined that publicKey\n is not a valid public key according to [RFC3447],\n then throw a\n DataError
.\n
\n If an error occurred while parsing, or it can be determined that publicKey\n is not a valid public key according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the RSA public key identified by\n publicKey.\n
\n If usages contains an entry which is not\n \"sign
\"\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"sign
\"\n then throw a\n SyntaxError
.\n
\n Let privateKeyInfo be the result of running the\n parse a privateKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurred while parsing, then throw a DataError
.\n
\n If an error occurred while parsing, then throw a DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n rsaEncryption
object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n rsaEncryption
object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n Let rsaPrivateKey be the result of performing the parse an ASN.1 structure\n algorithm, with data as the\n privateKey
field of privateKeyInfo,\n structure as the RSAPrivateKey
structure\n specified in Section A.1.2 of [RFC3447], and\n exactData set to true.\n
\n If an error occurred while parsing, or if rsaPrivateKey is not\n a valid RSA private key according to [RFC3447],\n then throw a\n DataError
.\n
\n If an error occurred while parsing, or if rsaPrivateKey is not\n a valid RSA private key according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the RSA private key identified by\n rsaPrivateKey.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the d
field of jwk is present and\n usages contains an entry which is not\n \"sign
\", or, if the d
field of jwk\n is not present and\n usages contains an entry which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If the d
field of jwk is present and\n usages contains an entry which is not\n \"sign
\", or, if the d
field of jwk\n is not present and\n usages contains an entry which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If the kty
field of jwk is not a\n case-sensitive string match to \"RSA
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not a\n case-sensitive string match to \"RSA
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not a case-sensitive string match to \"sig
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not a case-sensitive string match to \"sig
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
alg
field of jwk is not\n present:\n \n Let hash be undefined.\n
\nalg
field is equal to the string\n \"PS1
\":\n \n Let hash be the string \"SHA-1
\".\n
alg
field is equal to the string\n \"PS256
\":\n \n Let hash be the string \"SHA-256
\".\n
alg
field is equal to the string\n \"PS384
\":\n \n Let hash be the string \"SHA-384
\".\n
alg
field is equal to the string\n \"PS512
\":\n \n Let hash be the string \"SHA-512
\".\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, jwk\n and obtaining hash.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n Let normalizedHash be the result of\n normalize an algorithm\n with alg
set to hash and op
set\n to digest
.\n
\n If normalizedHash is not equal to the\n hash
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If normalizedHash is not equal to the\n hash
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.3.2 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.3.2 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n Let privateKey represent the\n RSA public key identified by interpreting jwk\n according to Section 6.3.1 of JSON Web\n Algorithms [JWA].\n
" }, { - "html": "\n If privateKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n If privateKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
representing privateKey.\n
\n If jwk does not meet the requirements of Section\n 6.3.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.3.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let publicKey represent the\n RSA public key identified by interpreting jwk\n according to Section 6.3.1 of JSON Web Algorithms [JWA].\n
" }, { - "html": "\n If publicKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n If publicKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
representing publicKey.\n
NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
@@ -1892,10 +1892,10 @@
"html": "\n Let key be the key to be exported.\n
" }, { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
spki
\"pkcs8
\":jwk
\":\n throw a\n NotSupportedError
.\n
spki
\"pkcs8
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let data be an instance of the subjectPublicKeyInfo
\n ASN.1 structure defined in [RFC5280]\n with the following properties:\n
\n Set the algorithm field to an\n AlgorithmIdentifier
ASN.1 type with the following\n properties:\n
\n Set the algorithm field to the OID\n rsaEncryption
defined in\n [RFC3447].\n
\n Set the params field to the ASN.1 type NULL.\n
\n\n Set the subjectPublicKey field to the result of\n DER-encoding an RSAPublicKey
ASN.1 type, as defined\n in [RFC3447], Appendix A.1.1, that\n represents the RSA public key represented by the [[handle]]
internal slot of\n key\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let data be the result of encoding a privateKeyInfo structure\n with the following properties:\n
\n\n Set the version field to 0.\n
\n\n Set the privateKeyAlgorithm field to an\n PrivateKeyAlgorithmIdentifier
ASN.1 type with the\n following properties:\n
\n Set the algorithm field to the OID\n rsaEncryption
defined in\n [RFC3447].\n
\n Set the params field to the ASN.1 type NULL.\n
\n\n Set the privateKey field to the result of DER-encoding\n an RSAPrivateKey
ASN.1 type, as defined in [RFC3447], Appendix A.1.2, that represents the\n RSA private key represented by the [[handle]]
internal slot of\n key\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot of key\n is not \"public
\",\n then throw an\n InvalidAccessError
.\n
\n If the [[type]]
internal slot of key\n is not \"public
\",\n then throw an\n InvalidAccessError
.\n
\n Let label be the contents of the label
member of\n normalizedAlgorithm or the empty octet string if the\n label
member of\n normalizedAlgorithm is not present.\n
\n Perform the encryption operation defined in Section 7.1 of [RFC3447] with the key represented by key\n as the recipient's RSA public key, the contents of plaintext\n as the message to be encrypted, M and label\n as the label, L, and with the hash\n function specified by the hash
\n attribute of the [[algorithm]]
internal slot of\n key as the Hash option and MGF1 (defined in Section B.2.1 of\n [RFC3447]) as the MGF option.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n Let ciphertext be the value C that results from performing the\n operation.\n
" }, { - "html": "\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
\n If the [[type]]
internal slot of key\n is not \"private
\",\n then throw an\n InvalidAccessError
.\n
\n If the [[type]]
internal slot of key\n is not \"private
\",\n then throw an\n InvalidAccessError
.\n
\n Let label be the contents of the label
member of\n normalizedAlgorithm or the empty octet string if the\n label
member of\n normalizedAlgorithm is not present.\n
\n Perform the decryption operation defined in Section 7.1 of [RFC3447] with the key represented by key\n as the recipient's RSA private key, the contents of ciphertext\n as the ciphertext to be decrypted, C, and label\n as the label, L, and with the hash\n function specified by the hash
\n attribute of the [[algorithm]]
internal slot of\n key as the Hash option and MGF1 (defined in Section B.2.1 of\n [RFC3447]) as the MGF option.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n Let plaintext the value M that results from performing the\n operation.\n
" }, { - "html": "\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n If usages contains an entry which is not\n \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n Generate an RSA key pair, as defined in [RFC3447], with RSA modulus length equal to the\n modulusLength
member of\n normalizedAlgorithm and RSA public exponent equal to the\n publicExponent
member of\n normalizedAlgorithm.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n If performing the operation results in an error,\n then throw an\n OperationError
.\n
\n Let algorithm be a new\n RsaHashedKeyAlgorithm
\n object.\n
Let keyData be the key data to be imported.
" }, { - "html": "spki
\":pkcs8
\":jwk
\":NotSupportedError
.\n spki
\":pkcs8
\":jwk
\":NotSupportedError
.\n \n If usages contains an entry which is not\n \"encrypt
\" or\n \"wrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"encrypt
\" or\n \"wrapKey
\",\n then throw a\n SyntaxError
.\n
\n Let spki be the result of running the\n parse a subjectPublicKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the rsaEncryption
\n object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the rsaEncryption
\n object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n Let publicKey be the result of performing the parse an ASN.1 structure\n algorithm, with data as the\n subjectPublicKeyInfo
field of spki,\n structure as the RSAPublicKey
structure\n specified in Section A.1.1 of [RFC3447], and\n exactData set to true.\n
\n If an error occurred while parsing, or it can be determined that publicKey\n is not a valid public key according to [RFC3447],\n then throw a\n DataError
.\n
\n If an error occurred while parsing, or it can be determined that publicKey\n is not a valid public key according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the RSA public key identified by\n publicKey.\n
\n If usages contains an entry which is not\n \"decrypt
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"decrypt
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n Let privateKeyInfo be the result of running the\n parse a privateKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurred while parsing, then throw a DataError
.\n
\n If an error occurred while parsing, then throw a DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n rsaEncryption
object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n rsaEncryption
object identifier defined in [RFC3447],\n then throw a\n DataError
.\n
\n Let rsaPrivateKey be the result of performing the parse an ASN.1 structure\n algorithm, with data as the\n privateKey
field of privateKeyInfo,\n structure as the RSAPrivateKey
structure\n specified in Section A.1.2 of [RFC3447], and\n exactData set to true.\n
\n If an error occurred while parsing, or if rsaPrivateKey is not\n a valid RSA private key according to [RFC3447],\n then throw a\n DataError
.\n
\n If an error occurred while parsing, or if rsaPrivateKey is not\n a valid RSA private key according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the RSA private key identified by\n rsaPrivateKey.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the d
field of jwk is present and\n usages contains an entry which is not\n \"decrypt
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If the d
field of jwk is present and\n usages contains an entry which is not\n \"decrypt
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If the d
field of jwk is not present and\n usages contains an entry which is not\n \"encrypt
\" or \"wrapKey
\",\n then throw a\n SyntaxError
.\n
\n If the d
field of jwk is not present and\n usages contains an entry which is not\n \"encrypt
\" or \"wrapKey
\",\n then throw a\n SyntaxError
.\n
\n If the kty
field of jwk is not a\n case-sensitive string match to \"RSA
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not a\n case-sensitive string match to \"RSA
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not a case-sensitive string match to \"enc
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not a case-sensitive string match to \"enc
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
alg
field of jwk is not present:alg
field of jwk is equal to\n \"RSA-OAEP
\":\n SHA-1
\".alg
field of jwk is equal to\n \"RSA-OAEP-256
\":\n SHA-256
\".alg
field of jwk is equal to\n \"RSA-OAEP-384
\":\n SHA-384
\".alg
field of jwk is equal to\n \"RSA-OAEP-512
\":\n SHA-512
\".\n Perform any key import steps defined by\n other applicable\n specifications, passing format, jwk\n and obtaining hash.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n Let normalizedHash be the result of\n normalize an algorithm\n with alg
set to hash and op
set\n to digest
.\n
\n If normalizedHash is not equal to the\n hash
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If normalizedHash is not equal to the\n hash
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.3.2 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.3.2 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let privateKey represent the\n RSA public key identified by interpreting jwk\n according to Section 6.3.1 of JSON Web Algorithms [JWA].\n
" }, { - "html": "\n If privateKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n If privateKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
representing privateKey.\n
\n If jwk does not meet the requirements of Section\n 6.3.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.3.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let publicKey represent the\n RSA public key identified by interpreting jwk\n according to Section 6.3.1 of JSON Web Algorithms [JWA].\n
" }, { - "html": "\n If publicKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n If publicKey can be determined to not be a valid RSA public key\n according to [RFC3447],\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
representing publicKey.\n
NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
@@ -2428,10 +2428,10 @@
"html": "\n Let key be the key to be exported.\n
" }, { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
spki
\"pkcs8
\":jwk
\":\n throw a\n NotSupportedError
.\n
spki
\"pkcs8
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let data be an instance of the subjectPublicKeyInfo
\n ASN.1 structure defined in [RFC5280]\n with the following properties:\n
\n Set the algorithm field to an\n AlgorithmIdentifier
ASN.1 type with the following\n properties:\n
\n Set the algorithm field to the OID\n rsaEncryption
defined in\n [RFC3447].\n
\n Set the params field to the ASN.1 type NULL.\n
\n\n Set the subjectPublicKey field to the result of\n DER-encoding an RSAPublicKey
ASN.1 type, as defined\n in [RFC3447], Appendix A.1.1, that\n represents the RSA public key represented by the [[handle]]
internal slot of\n key\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let data be the result of encoding a privateKeyInfo structure\n with the following properties:\n
\n\n Set the version field to 0.\n
\n\n Set the privateKeyAlgorithm field to an\n PrivateKeyAlgorithmIdentifier
ASN.1 type with the\n following properties:\n
\n Set the algorithm field to the OID\n rsaEncryption
defined in\n [RFC3447].\n
\n Set the params field to the ASN.1 type NULL.\n
\n\n Set the privateKey field to the result of DER-encoding\n an RSAPrivateKey
ASN.1 type, as defined in [RFC3447], Appendix A.1.2, that represents the\n RSA private key represented by the [[handle]]
internal slot of\n key\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let hashAlgorithm be the hash
\n member of normalizedAlgorithm.\n
\n Let r and s be the pair of integers resulting from\n performing the ECDSA signing process.\n
" }, { - "html": "\n Let result be an empty byte sequence.\n
" + "html": "\n Let result be an empty byte sequence.\n
" }, { "html": "\n Let n be the smallest integer such that n * 8 is greater than\n the logarithm to base 2 of the order of the base point of the elliptic curve identified\n by params.\n
" @@ -2634,7 +2634,7 @@ ] }, { - "html": "\n Return the result of creating\n an ArrayBuffer
containing result.\n
\n Return the result of creating\n an ArrayBuffer
containing result.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let hashAlgorithm be the hash
\n member of\n normalizedAlgorithm.\n
\n If usages contains a value which is not\n one of \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n If usages contains a value which is not\n one of \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
namedCurve
member of\n normalizedAlgorithm is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n \n Generate an Elliptic Curve key pair, as defined in [RFC6090]\n with domain parameters for the curve identified by\n the namedCurve
member of\n normalizedAlgorithm.\n
namedCurve
member of\n normalizedAlgorithm is a value specified in an\n applicable specification:\n \n Perform the ECDSA generation steps specified in that specification, passing in\n normalizedAlgorithm and resulting in an elliptic curve key pair.\n
\n\n throw a\n NotSupportedError
\n
namedCurve
member of\n normalizedAlgorithm is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n \n Generate an Elliptic Curve key pair, as defined in [RFC6090]\n with domain parameters for the curve identified by\n the namedCurve
member of\n normalizedAlgorithm.\n
namedCurve
member of\n normalizedAlgorithm is a value specified in an\n applicable specification:\n \n Perform the ECDSA generation steps specified in that specification, passing in\n normalizedAlgorithm and resulting in an elliptic curve key pair.\n
\n\n throw a\n NotSupportedError
\n
\n throw a\n NotSupportedError
\n
\n throw a\n NotSupportedError
\n
\n If performing the key generation operation results in an error,\n then throw an\n OperationError
.\n
\n If performing the key generation operation results in an error,\n then throw an\n OperationError
.\n
\n Let algorithm be a new\n EcKeyAlgorithm
\n object.\n
Let keyData be the key data to be imported.
" }, { - "html": "spki
\":pkcs8
\":jwk
\":raw
\":\n throw a\n NotSupportedError
.\n
spki
\":pkcs8
\":jwk
\":raw
\":\n throw a\n NotSupportedError
.\n
\n If usages contains a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If usages contains a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n Let spki be the result of running the\n parse a subjectPublicKeyInfo\n algorithm over keyData\n
" }, { - "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the id-ecPublicKey
\n object identifier defined in [RFC5480],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the id-ecPublicKey
\n object identifier defined in [RFC5480],\n then throw a\n DataError
.\n
\n If the parameters
field of the algorithm
\n AlgorithmIdentifier field of spki is absent,\n then throw a\n DataError
.\n
\n If the parameters
field of the algorithm
\n AlgorithmIdentifier field of spki is absent,\n then throw a\n DataError
.\n
\n Let params be the parameters
field of the\n algorithm
AlgorithmIdentifier field of spki.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n Let namedCurve be a string whose initial value is\n undefined.\n
" @@ -2852,10 +2852,10 @@ "html": "\n Let publicKey be the Elliptic Curve public key identified by\n performing the conversion steps defined in Section 2.3.4 of [SEC1] using the subjectPublicKey
\n field of spki.\n
\n The uncompressed point format MUST be supported.\n
" }, { - "html": "\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents publicKey.\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, spki\n and obtaining namedCurve and key.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If the public key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n If the public key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n Set the [[type]]
internal slot\n of key to \"public
\"\n
\n If usages contains a value which is not\n \"sign
\"\n then throw a\n SyntaxError
.\n
\n If usages contains a value which is not\n \"sign
\"\n then throw a\n SyntaxError
.\n
\n Let privateKeyInfo be the result of running the\n parse a privateKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurs while parsing,\n then throw a\n DataError
.\n
\n If an error occurs while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n id-ecPublicKey
object identifier defined in [RFC5480],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n id-ecPublicKey
object identifier defined in [RFC5480],\n then throw a\n DataError
.\n
\n If the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo is not present,\n then throw a\n DataError
.\n
\n If the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo is not present,\n then throw a\n DataError
.\n
\n Let params be the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n Let namedCurve be a string whose initial value is\n undefined.\n
" @@ -2970,10 +2970,10 @@ "html": "\n Let ecPrivateKey be the result of performing the parse an ASN.1 structure\n algorithm, with data as the privateKey
field\n of privateKeyInfo, structure as the ASN.1\n ECPrivateKey
structure specified in Section 3 of [RFC5915], and exactData set to true.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the parameters
field of ecPrivateKey is\n present, and is not an instance of the namedCurve
ASN.1\n type defined in [RFC5480], or does not contain\n the same object identifier as the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo,\n then throw a\n DataError
.\n
\n If the parameters
field of ecPrivateKey is\n present, and is not an instance of the namedCurve
ASN.1\n type defined in [RFC5480], or does not contain\n the same object identifier as the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo,\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the Elliptic Curve private key identified by\n performing the conversion steps defined in Section 3 of [RFC5915] using ecPrivateKey.\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, privateKeyInfo\n and obtaining namedCurve and key.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If the private key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n If the private key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n Set the [[type]]
internal slot\n of key to \"private
\"\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the d
field is present and usages contains\n a value which is not\n \"sign
\", or,\n if the d
field is not present and usages contains\n a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If the d
field is present and usages contains\n a value which is not\n \"sign
\", or,\n if the d
field is not present and usages contains\n a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If the kty
field of jwk is not\n \"EC
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not\n \"EC
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"sig
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"sig
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of JSON Web\n Key [JWK], or it does not contain all of the specified usages\n values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of JSON Web\n Key [JWK], or it does not contain all of the specified usages\n values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n Let namedCurve be a string whose value is equal to the\n crv
field of jwk.\n
\n If namedCurve is not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If namedCurve is not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
P-256
\",\n \"P-384
\" or \"P-521
\":\n \n Let algNamedCurve be a string whose initial value is\n undefined.\n
" }, { - "html": "alg
field is not present:alg
field is equal to the string \"ES256\":\n P-256
\".\n alg
field is equal to the string \"ES384\":\n P-384
\".\n alg
field is equal to the string \"ES512\":\n P-521
\".\n DataError
.\n alg
field is not present:alg
field is equal to the string \"ES256\":\n P-256
\".\n alg
field is equal to the string \"ES384\":\n P-384
\".\n alg
field is equal to the string \"ES512\":\n P-521
\".\n DataError
.\n DataError
."
+ "html": "throw a\n DataError
."
}
]
}
]
},
{
- "html": "\n If algNamedCurve is defined, and is not equal to\n namedCurve, throw a DataError
.\n
\n If algNamedCurve is defined, and is not equal to\n namedCurve, throw a DataError
.\n
d
field is present:\n If jwk does not meet the requirements of Section\n 6.2.2 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.2.2 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n Elliptic Curve private key identified by interpreting\n jwk according to Section 6.2.2 of JSON Web Algorithms [JWA].\n
\n If jwk does not meet the requirements of Section\n 6.2.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.2.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n Elliptic Curve public key identified by interpreting\n jwk according to Section 6.2.1 of JSON Web Algorithms [JWA].\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, jwk\n and obtaining key.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n Let algorithm be a new instance of an EcKeyAlgorithm
object.\n
\n If the namedCurve
\n member of normalizedAlgorithm is not a\n named curve,\n then throw a\n DataError
.\n
\n If the namedCurve
\n member of normalizedAlgorithm is not a\n named curve,\n then throw a\n DataError
.\n
\n If usages contains a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If usages contains a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
P-256
\",\n \"P-384
\" or \"P-521
\":\n \n Let Q be the elliptic curve point on the curve identified\n by the namedCurve
\n member of normalizedAlgorithm identified by performing\n the conversion steps defined in Section 2.3.4 of [SEC1] on keyData.\n
\n The uncompressed point format MUST be supported.\n
" }, { - "html": "\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents Q.\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, keyData\n and obtaining key.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n Let key be the CryptoKey
to be\n exported.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
spki
\":pkcs8
\":jwk
\":raw
\":\n \n throw a\n NotSupportedError
.\n
spki
\":pkcs8
\":jwk
\":raw
\":\n \n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
ECParameters
ASN.1 type defined in\n [RFC5480] as follows:",
@@ -3351,7 +3351,7 @@
]
},
{
- "html": "\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
ECParameters
ASN.1 type defined in\n [RFC5480] as follows:",
@@ -3412,7 +3412,7 @@
]
},
{
- "html": "\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
namedCurve
\n attribute of the [[algorithm]]
internal slot\n of key is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n \n Let data be an octet string representing the Elliptic Curve\n point Q represented by [[handle]]
internal slot of\n key according to [SEC1] 2.3.3 using the uncompressed format.\n
\n Perform any key export steps\n defined by other applicable\n specifications, passing format and the\n namedCurve
attribute of\n the [[algorithm]]
\n internal slot of key\n and obtaining namedCurve and data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If usages contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
namedCurve
member of\n normalizedAlgorithm is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n \n Generate an Elliptic Curve key pair, as defined in [RFC6090] with domain parameters for the curve identified by\n the namedCurve
member of\n normalizedAlgorithm.\n
namedCurve
member of\n normalizedAlgorithm is a value specified in an\n applicable specification that\n specifies the use of that value with ECDH:\n \n Perform the ECDH generation steps specified in that specification, passing in\n normalizedAlgorithm and resulting in an elliptic curve key pair.\n
\n\n throw a\n NotSupportedError
\n
namedCurve
member of\n normalizedAlgorithm is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n \n Generate an Elliptic Curve key pair, as defined in [RFC6090] with domain parameters for the curve identified by\n the namedCurve
member of\n normalizedAlgorithm.\n
namedCurve
member of\n normalizedAlgorithm is a value specified in an\n applicable specification that\n specifies the use of that value with ECDH:\n \n Perform the ECDH generation steps specified in that specification, passing in\n normalizedAlgorithm and resulting in an elliptic curve key pair.\n
\n\n throw a\n NotSupportedError
\n
\n throw a\n NotSupportedError
\n
\n throw a\n NotSupportedError
\n
\n If performing the operation results in an error,\n then throw a\n OperationError
.\n
\n If performing the operation results in an error,\n then throw a\n OperationError
.\n
\n Let algorithm be a new\n EcKeyAlgorithm
\n object.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let publicKey be the\n public
member of\n normalizedAlgorithm.\n
\n If the [[type]]
internal slot of\n publicKey is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot of\n publicKey is not \"public
\", then throw an InvalidAccessError
.\n
\n If the name
attribute of\n the [[algorithm]]
internal slot of\n publicKey is not equal to the name
property of the [[algorithm]]
internal slot of\n key, then throw an InvalidAccessError
.\n
\n If the name
attribute of\n the [[algorithm]]
internal slot of\n publicKey is not equal to the name
property of the [[algorithm]]
internal slot of\n key, then throw an InvalidAccessError
.\n
\n If the namedCurve
attribute of\n the [[algorithm]]
internal slot of\n publicKey is not equal to the namedCurve
property of the [[algorithm]]
internal slot of\n key, then throw an InvalidAccessError
.\n
\n If the namedCurve
attribute of\n the [[algorithm]]
internal slot of\n publicKey is not equal to the namedCurve
property of the [[algorithm]]
internal slot of\n key, then throw an InvalidAccessError
.\n
namedCurve
property of the [[algorithm]]
internal slot of\n key is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n namedCurve
property of the [[algorithm]]
internal slot of\n key is a value specified in an\n applicable specification that\n specifies the use of that value with ECDH:\n \n Perform the ECDH derivation steps specified in that specification, passing in\n key and publicKey and resulting in secret.\n
\n\n throw a\n NotSupportedError
\n
namedCurve
property of the [[algorithm]]
internal slot of\n key is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n namedCurve
property of the [[algorithm]]
internal slot of\n key is a value specified in an\n applicable specification that\n specifies the use of that value with ECDH:\n \n Perform the ECDH derivation steps specified in that specification, passing in\n key and publicKey and resulting in secret.\n
\n\n throw a\n NotSupportedError
\n
\n throw a\n NotSupportedError
\n
\n throw a\n NotSupportedError
\n
\n If performing the operation results in an error,\n then throw a\n OperationError
.\n
\n If performing the operation results in an error,\n then throw a\n OperationError
.\n
OperationError
.\n OperationError
.\n OperationError
.\n OperationError
.\n OperationError
."
+ "html": "throw an\n OperationError
."
},
{
"case": "Otherwise:",
@@ -3755,25 +3755,25 @@
"rationale": "if",
"steps": [
{
- "html": "\n If usages is not empty\n then throw a\n SyntaxError
.\n
\n If usages is not empty\n then throw a\n SyntaxError
.\n
\n Let spki be the result of running the\n parse a subjectPublicKeyInfo\n algorithm over keyData\n
" }, { - "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the id-ecPublicKey
\n object identifier defined in [RFC5480],\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the id-ecPublicKey
\n object identifier defined in [RFC5480],\n then throw a\n DataError
.\n
\n If the parameters
field of the algorithm
\n AlgorithmIdentifier field of spki is absent,\n then throw a\n DataError
.\n
\n If the parameters
field of the algorithm
\n AlgorithmIdentifier field of spki is absent,\n then throw a\n DataError
.\n
\n Let params be the parameters
field of the\n algorithm
AlgorithmIdentifier field of spki.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n Let namedCurve be a string whose initial value is\n undefined.\n
" @@ -3817,10 +3817,10 @@ "html": "\n Let publicKey be the Elliptic Curve public key identified by\n performing the conversion steps defined in Section 2.3.4 of [SEC1] to the subjectPublicKey
field of\n spki.\n
\n The uncompressed point format MUST be supported.\n
" }, { - "html": "\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents publicKey.\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, spki\n and obtaining namedCurve and key.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n Set the [[type]]
internal slot\n of key to \"public
\"\n
\n If usages contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n Let privateKeyInfo be the result of running the\n parse a privateKeyInfo\n algorithm over keyData.\n
" }, { - "html": "\n If an error occurs while parsing,\n throw a\n DataError
.\n
\n If an error occurs while parsing,\n throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n id-ecPublicKey
object identifier\n defined in [RFC5480],\n throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n id-ecPublicKey
object identifier\n defined in [RFC5480],\n throw a\n DataError
.\n
\n If the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo is not present,\n throw a\n DataError
.\n
\n If the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo is not present,\n throw a\n DataError
.\n
\n Let params be the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n If params is not an instance of the\n ECParameters
ASN.1 type defined in\n [RFC5480] that specifies a\n namedCurve
, then throw a DataError
.\n
\n Let namedCurve be a string whose initial value is\n undefined.\n
" @@ -3935,10 +3935,10 @@ "html": "\n Let ecPrivateKey be the result of performing the\n parse an ASN.1 structure\n algorithm, with data as the privateKey
field\n of privateKeyInfo, structure as the ASN.1\n ECPrivateKey
structure specified in Section 3 of\n [RFC5915], and exactData set to true.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the parameters
field of ecPrivateKey is\n present, and is not an instance of the namedCurve
ASN.1\n type defined in [RFC5480], or does not contain\n the same object identifier as the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo,\n throw a\n DataError
.\n
\n If the parameters
field of ecPrivateKey is\n present, and is not an instance of the namedCurve
ASN.1\n type defined in [RFC5480], or does not contain\n the same object identifier as the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo,\n throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents the Elliptic Curve private key identified by\n performing the conversion steps defined in Section 3 of [RFC5915] using ecPrivateKey.\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, privateKeyInfo\n and obtaining namedCurve and key.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If namedCurve is defined, and not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n Set the [[type]]
internal slot\n of key to \"private
\".\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the d
field is present and if usages\n contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n If the d
field is present and if usages\n contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n If the d
field is not present and if usages is not\n empty\n then throw a\n SyntaxError
.\n
\n If the d
field is not present and if usages is not\n empty\n then throw a\n SyntaxError
.\n
\n If the kty
field of jwk is\n not \"EC
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is\n not \"EC
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present\n and is not equal to \"enc
\" then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present\n and is not equal to \"enc
\" then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of JSON Web\n Key [JWK], or it does not contain all of the specified usages\n values, then throw a DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of JSON Web\n Key [JWK], or it does not contain all of the specified usages\n values, then throw a DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n Let namedCurve be a string whose value is equal to the\n crv
field of jwk.\n
\n If namedCurve is not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
\n If namedCurve is not equal to the namedCurve
member of\n normalizedAlgorithm, throw a DataError
.\n
P-256
\",\n \"P-384
\" or \"P-521
\":\n d
field is present:\n If jwk does not meet the requirements of Section\n 6.2.2 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.2.2 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n Elliptic Curve private key identified by interpreting\n jwk according to Section 6.2.2 of JSON Web Algorithms [JWA].\n
\n If jwk does not meet the requirements of Section\n 6.2.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n If jwk does not meet the requirements of Section\n 6.2.1 of JSON Web Algorithms [JWA], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n Elliptic Curve public key identified by interpreting\n jwk according to Section 6.2.1 of JSON Web Algorithms [JWA].\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, jwk\n and obtaining key.\n
" }, { - "html": "\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occurred or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n If the key value is not a valid point on the Elliptic Curve\n identified by the namedCurve
member of\n normalizedAlgorithm throw a DataError
.\n
\n Let algorithm be a new instance of an EcKeyAlgorithm
object.\n
\n If the namedCurve
\n member of normalizedAlgorithm is not a\n named curve,\n then throw a\n DataError
.\n
\n If the namedCurve
\n member of normalizedAlgorithm is not a\n named curve,\n then throw a\n DataError
.\n
\n If usages is not the empty list,\n then throw a\n SyntaxError
.\n
\n If usages is not the empty list,\n then throw a\n SyntaxError
.\n
P-256
\",\n \"P-384
\" or \"P-521
\":\n \n Let Q be the Elliptic Curve public key on the curve identified\n by the namedCurve
\n member of normalizedAlgorithm identified by performing\n the conversion steps defined in Section 2.3.4 of [SEC1] to keyData.\n
\n The uncompressed point format MUST be supported.\n
" }, { - "html": "\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If the implementation does not support the compressed point format and\n a compressed point is provided,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n If a decode error occurs or an identity point is found,\n throw a\n DataError
.\n
\n Let key be a new CryptoKey
\n that represents Q.\n
\n Perform any key import steps defined by\n other applicable\n specifications, passing format, keyData\n and obtaining key.\n
" }, { - "html": "\n If an error occured or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n If an error occured or there are no\n applicable\n specifications,\n throw a\n DataError
.\n
\n Let key be the CryptoKey
to be\n exported.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
spki
\":pkcs8
\":jwk
\":raw
\":\n \n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
ECParameters
ASN.1 type defined in\n [RFC5480] as follows:",
@@ -4279,7 +4279,7 @@
"rationale": "if",
"steps": [
{
- "html": "\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
ECParameters
ASN.1 type defined in\n [RFC5480] as follows:",
@@ -4434,7 +4434,7 @@
"rationale": "if",
"steps": [
{
- "html": "\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
namedCurve
\n attribute of the [[algorithm]]
internal slot\n of key is \"P-256
\", \"P-384
\"\n or \"P-521
\":\n \n Let data be the octet string that\n represents the Elliptic Curve public key represented by the [[handle]]
internal slot of\n key according to the encoding rules specified in\n Section 2.3.3 of [SEC1] and using the\n uncompressed form.\n
\n Perform any key export steps\n defined by other applicable\n specifications, passing format and the\n namedCurve
attribute of\n the [[algorithm]]
\n internal slot of key\n and obtaining namedCurve and data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n Perform the Ed25519 signing process, as specified in [RFC8032],\n Section 5.1.6, with message as M,\n using the Ed25519 private key associated with key.\n
" + }, + { + "html": "\n Return a new ArrayBuffer
associated with the\n relevant global object\n of this
[HTML], and containing the\n bytes of the signature resulting from performing\n the Ed25519 signing process.\n
\n If the [[type]]
internal slot of\n key is not \"public
\", then throw an InvalidAccessError
.\n
\n If the key data of key represents an invalid point or a small-order element\n on the Elliptic Curve of Ed25519, return false
.\n
\n If the point R, encoded in the first half of signature,\n represents an invalid point or a small-order element\n on the Elliptic Curve of Ed25519, return false
.\n
\n Perform the Ed25519 verification steps, as specified in [RFC8032],\n Section 5.1.7, using the cofactorless (unbatched) equation,\n [S]B = R + [k]A'
, on the signature, with message as M,\n using the Ed25519 public key associated with key.\n
\n Let result be a boolean with the value true
if the signature is valid\n and the value false
otherwise.\n
\n Return result.\n
" + } + ] + }, + { + "html": "", + "rationale": "if", + "steps": [ + { + "html": "\n If usages contains a value which is not\n one of \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n Generate an Ed25519 key pair, as defined in [RFC8032], section 5.1.5.\n
" + }, + { + "html": "\n Let algorithm be a new KeyAlgorithm
object.\n
\n Set the name
attribute of\n algorithm to \"Ed25519
\".\n
\n Let publicKey be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n representing the public key of the generated key pair.\n
\n Set the [[type]]
internal slot of\n publicKey to \"public
\"\n
\n Set the [[algorithm]]
internal\n slot of publicKey to algorithm.\n
\n Set the [[extractable]]
internal\n slot of publicKey to true.\n
\n Set the [[usages]]
internal slot of\n publicKey to be the usage intersection\n of usages and [ \"verify\" ]
.\n
\n Let privateKey be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n representing the private key of the generated key pair.\n
\n Set the [[type]]
internal slot of\n privateKey to \"private
\"\n
\n Set the [[algorithm]]
internal\n slot of privateKey to algorithm.\n
\n Set the [[extractable]]
internal\n slot of privateKey to extractable.\n
\n Set the [[usages]]
internal slot of\n privateKey to be the usage intersection\n of usages and [ \"sign\" ]
.\n
\n Let result be a new CryptoKeyPair
\n dictionary.\n
\n Set the publicKey
attribute\n of result to be publicKey.\n
\n Set the privateKey
attribute\n of result to be privateKey.\n
\n Return the result of converting result to an ECMAScript Object, as\n defined by [WebIDL].\n
" + } + ] + }, + { + "html": "", + "rationale": "let", + "steps": [ + { + "html": "Let keyData be the key data to be imported.
" + }, + { + "html": "spki
\":pkcs8
\":jwk
\":raw
\":\n throw a\n NotSupportedError
.\n
\n If usages contains a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n Let spki be the result of running the\n parse a subjectPublicKeyInfo\n algorithm over keyData.\n
" + }, + { + "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the id-Ed25519
\n object identifier defined in [RFC8410],\n then throw a\n DataError
.\n
\n If the parameters
field of the algorithm
\n AlgorithmIdentifier field of spki is present,\n then throw a\n DataError
.\n
\n Let publicKey be the Ed25519 public key identified by\n the subjectPublicKey
field of spki.\n
\n Let key be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n that represents publicKey.\n
\n Set the [[type]]
internal slot\n of key to \"public
\"\n
\n Let algorithm be a new KeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"Ed25519
\".\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
\n If usages contains a value which is not\n \"sign
\"\n then throw a\n SyntaxError
.\n
\n Let privateKeyInfo be the result of running the\n parse a privateKeyInfo\n algorithm over keyData.\n
" + }, + { + "html": "\n If an error occurs while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n id-Ed25519
object identifier defined in [RFC8410],\n then throw a\n DataError
.\n
\n If the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo is present,\n then throw a\n DataError
.\n
\n Let curvePrivateKey be the result of performing the\n parse an ASN.1 structure\n algorithm, with data as the privateKey
field\n of privateKeyInfo, structure as the ASN.1\n CurvePrivateKey
structure specified in Section 7 of [RFC8410], and exactData set to true.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n that represents the Ed25519 private key identified by curvePrivateKey.\n
\n Set the [[type]]
internal slot\n of key to \"private
\"\n
\n Let algorithm be a new KeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"Ed25519
\".\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
JsonWebKey
dictionary:Let jwk equal keyData.
Let jwk equal keyData.
" + }, + { + "case": "Otherwise:", + "html": "" + } + ] + } + ] + }, + { + "html": "\n If the d
field is present and usages contains\n a value which is not\n \"sign
\", or,\n if the d
field is not present and usages contains\n a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n If the kty
field of jwk is not\n \"OKP
\",\n then throw a\n DataError
.\n
\n If the crv
field of jwk is not\n \"Ed25519
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"sig
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of JSON Web\n Key [JWK], or it does not contain all of the specified usages\n values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
d
field is present:\n If jwk does not meet the requirements of\n the JWK private key format described in Section 2\n of [RFC8037], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n Ed25519 private key identified by interpreting\n jwk according to Section 2 of [RFC8037].\n
\n Set the [[type]]
\n internal slot of Key to \"private
\".\n
\n If jwk does not meet the requirements of\n the JWK public key format described in Section 2\n of [RFC8037], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n Ed25519 public key identified by interpreting\n jwk according to Section 2 of [RFC8037].\n
\n Set the [[type]]
\n internal slot of Key to \"public
\".\n
\n Let algorithm be a new instance of a KeyAlgorithm
object.\n
\n Set the name
attribute of\n algorithm to \"Ed25519
\".\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
\n If usages contains a value which is not\n \"verify
\"\n then throw a\n SyntaxError
.\n
\n Let algorithm be a new KeyAlgorithm
object.\n
\n Set the name
attribute of\n algorithm to \"Ed25519
\".\n
\n Let key be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n representing the key data provided in keyData.\n
\n Set the [[type]]
internal slot\n of key to \"public
\"\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
\n throw a\n NotSupportedError
.\n
\n Return key\n
" + } + ] + }, + { + "html": "", + "rationale": "let", + "steps": [ + { + "html": "\n Let key be the CryptoKey
to be\n exported.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
spki
\":pkcs8
\":jwk
\":raw
\":\n \n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let data be an instance of the subjectPublicKeyInfo
\n ASN.1 structure defined in [RFC5280]\n with the following properties:\n
\n Set the algorithm field to an\n AlgorithmIdentifier
ASN.1 type with the following\n properties:\n
\n Set the algorithm object identifier to the\n id-Ed25519
OID defined in [RFC8410].\n
\n Set the subjectPublicKey field to keyData.\n
\n\n Let result be a new ArrayBuffer
associated with the\n relevant global object\n of this
[HTML], and containing\n data.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let data be an instance of the privateKeyInfo
\n ASN.1 structure defined in [RFC5208]\n with the following properties:\n
\n Set the version field to 0
.\n
\n Set the privateKeyAlgorithm field to a\n PrivateKeyAlgorithmIdentifier
ASN.1 type with the\n following properties:\n
\n Set the algorithm object identifier to the\n id-Ed25519
OID defined in [RFC8410].\n
\n Set the privateKey field to the result of DER-encoding\n a CurvePrivateKey
ASN.1 type, as defined in Section 7 of [RFC8410], that represents the\n Ed25519 private key represented by the [[handle]]
internal slot of\n key\n
\n Let result be a new ArrayBuffer
associated with the\n relevant global object\n of this
[HTML], and containing\n data.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Set the kty
attribute of jwk to\n \"OKP
\".\n
\n Set the crv
attribute of jwk to\n \"Ed25519
\".\n
\n Set the x
attribute of jwk according to the\n definition in Section 2 of [RFC8037].\n
[[type]]
internal slot\n of key is \"private
\"\n d
attribute of jwk according to the\n definition in Section 2 of [RFC8037].\n d
attribute of jwk according to the\n definition in Section 2 of [RFC8037]."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "html": "\n Set the key_ops
attribute of jwk to the usages
attribute of key.\n
\n Set the ext
attribute of jwk to the [[extractable]]
internal slot\n of key.\n
\n Let result be the result of converting jwk\n to an ECMAScript Object, as defined by [WebIDL].\n
" + } + ] + }, + { + "case": "If format is \"raw\":", + "html": "", + "rationale": "if", + "steps": [ + { + "html": "\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let data be an octet string representing the Ed25519\n public key represented by the [[handle]]
internal slot of\n key.\n
\n Let result be a new ArrayBuffer
associated with the\n relevant global object\n of this
[HTML], and containing\n data.\n
\n throw a\n NotSupportedError
.\n
\n Return result.\n
" + } + ] + }, + { + "html": "", + "rationale": "if", + "steps": [ + { + "html": "\n If the [[type]]
internal slot of\n key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let publicKey be the\n public
member of\n normalizedAlgorithm.\n
\n If the [[type]]
internal slot of\n publicKey is not \"public
\", then throw an InvalidAccessError
.\n
\n If the name
attribute of\n the [[algorithm]]
internal slot of\n publicKey is not equal to the name
property of the [[algorithm]]
internal slot of\n key, then throw an InvalidAccessError
.\n
\n Let secret be the result of performing the X25519 function specified in\n [RFC7748] Section 5 with key as the X25519 private key k\n and the X25519 public key represented by the [[handle]]
\n internal slot of publicKey as the X25519 public key u.\n
\n If secret is the all-zero value,\n then throw a OperationError
.\n This check must be performed in constant-time, as per [RFC7748] Section 6.1.\n
OperationError
.\n OperationError
.\n OperationError
."
+ },
+ {
+ "case": "Otherwise:",
+ "html": "Return an octet string containing the first length bits of secret."
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "html": "",
+ "rationale": "if",
+ "steps": [
+ {
+ "html": "\n If usages contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n Generate an X25519 key pair, with the private key being 32 random bytes,\n and the public key being X25519(a, 9)
,\n as defined in [RFC7748], section 6.1.\n
\n Let algorithm be a new KeyAlgorithm
object.\n
\n Set the name
attribute of\n algorithm to \"X25519
\".\n
\n Let publicKey be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n representing the public key of the generated key pair.\n
\n Set the [[type]]
internal slot of\n publicKey to \"public
\"\n
\n Set the [[algorithm]]
internal\n slot of publicKey to algorithm.\n
\n Set the [[extractable]]
internal\n slot of publicKey to true.\n
\n Set the [[usages]]
internal slot of\n publicKey to be the empty list.\n
\n Let privateKey be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n representing the private key of the generated key pair.\n
\n Set the [[type]]
internal slot of\n privateKey to \"private
\"\n
\n Set the [[algorithm]]
internal\n slot of privateKey to algorithm.\n
\n Set the [[extractable]]
internal\n slot of privateKey to extractable.\n
\n Set the [[usages]]
internal slot of\n privateKey to be the\n usage intersection of\n usages and [ \"deriveKey\", \"deriveBits\" ]
.\n
\n Let result be a new CryptoKeyPair
\n dictionary.\n
\n Set the publicKey
attribute\n of result to be publicKey.\n
\n Set the privateKey
attribute\n of result to be privateKey.\n
\n Return the result of converting result to an ECMAScript Object, as\n defined by [WebIDL].\n
" + } + ] + }, + { + "html": "", + "rationale": "let", + "steps": [ + { + "html": "Let keyData be the key data to be imported.
" + }, + { + "html": "spki
\":pkcs8
\":jwk
\":raw
\":\n throw a\n NotSupportedError
.\n
\n If usages is not empty\n then throw a\n SyntaxError
.\n
\n Let spki be the result of running the\n parse a subjectPublicKeyInfo\n algorithm over keyData.\n
" + }, + { + "html": "\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n algorithm
AlgorithmIdentifier field of spki is\n not equal to the id-X25519
\n object identifier defined in [RFC8410],\n then throw a\n DataError
.\n
\n If the parameters
field of the algorithm
\n AlgorithmIdentifier field of spki is present,\n then throw a\n DataError
.\n
\n Let publicKey be the X25519 public key identified by\n the subjectPublicKey
field of spki.\n
\n Let key be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n that represents publicKey.\n
\n Set the [[type]]
internal slot\n of key to \"public
\"\n
\n Let algorithm be a new KeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"X25519
\".\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
\n If usages contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n Let privateKeyInfo be the result of running the\n parse a privateKeyInfo\n algorithm over keyData.\n
" + }, + { + "html": "\n If an error occurs while parsing,\n then throw a\n DataError
.\n
\n If the algorithm
object identifier field of the\n privateKeyAlgorithm
PrivateKeyAlgorithm field of\n privateKeyInfo is not equal to the\n id-X25519
object identifier defined in [RFC8410],\n then throw a\n DataError
.\n
\n If the parameters
field of the\n privateKeyAlgorithm
PrivateKeyAlgorithmIdentifier field\n of privateKeyInfo is present,\n then throw a\n DataError
.\n
\n Let curvePrivateKey be the result of performing the\n parse an ASN.1 structure\n algorithm, with data as the privateKey
field\n of privateKeyInfo, structure as the ASN.1\n CurvePrivateKey
structure specified in Section 7 of [RFC8410], and exactData set to true.\n
\n If an error occurred while parsing,\n then throw a\n DataError
.\n
\n Let key be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n that represents the X25519 private key identified by curvePrivateKey.\n
\n Set the [[type]]
internal slot\n of key to \"private
\"\n
\n Let algorithm be a new KeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"X25519
\".\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
JsonWebKey
dictionary:Let jwk equal keyData.
Let jwk equal keyData.
" + }, + { + "case": "Otherwise:", + "html": "" + } + ] + } + ] + }, + { + "html": "\n If the d
field is present and if usages\n contains an entry which is not\n \"deriveKey
\" or \"deriveBits
\"\n then throw a\n SyntaxError
.\n
\n If the d
field is not present and if usages is not\n empty\n then throw a\n SyntaxError
.\n
\n If the kty
field of jwk is not\n \"OKP
\",\n then throw a\n DataError
.\n
\n If the crv
field of jwk is not\n \"X25519
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present\n and is not equal to \"enc
\" then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of JSON Web\n Key [JWK], or it does not contain all of the specified usages\n values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
d
field is present:\n If jwk does not meet the requirements of\n the JWK private key format described in Section 2\n of [RFC8037], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n X25519 private key identified by interpreting\n jwk according to Section 2 of [RFC8037].\n
\n Set the [[type]]
\n internal slot of Key to \"private
\".\n
\n If jwk does not meet the requirements of\n the JWK public key format described in Section 2\n of [RFC8037], then throw a DataError
.\n
\n Let key be a new CryptoKey
object that represents the\n X25519 public key identified by interpreting\n jwk according to Section 2 of [RFC8037].\n
\n Set the [[type]]
\n internal slot of Key to \"public
\".\n
\n Let algorithm be a new instance of a KeyAlgorithm
object.\n
\n Set the name
attribute of\n algorithm to \"X25519
\".\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
\n If usages is not empty\n then throw a\n SyntaxError
.\n
\n Let algorithm be a new KeyAlgorithm
object.\n
\n Set the name
attribute of\n algorithm to \"X25519
\".\n
\n Let key be a new CryptoKey
associated with the\n relevant global object\n of this
[HTML], and\n representing the key data provided in keyData.\n
\n Set the [[type]]
internal slot\n of key to \"public
\"\n
\n Set the [[algorithm]]
\n internal slot of key to algorithm.\n
\n throw a\n NotSupportedError
.\n
\n Return key\n
" + } + ] + }, + { + "html": "", + "rationale": "let", + "steps": [ + { + "html": "\n Let key be the CryptoKey
to be\n exported.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
spki
\":pkcs8
\":jwk
\":raw
\":\n \n throw a\n NotSupportedError
.\n
\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let data be an instance of the subjectPublicKeyInfo
\n ASN.1 structure defined in [RFC5280]\n with the following properties:\n
\n Set the algorithm field to an\n AlgorithmIdentifier
ASN.1 type with the following\n properties:\n
\n Set the algorithm object identifier to the\n id-X25519
OID defined in [RFC8410].\n
\n Set the subjectPublicKey field to keyData.\n
\n\n Let result be a new ArrayBuffer
associated with the\n relevant global object\n of this
[HTML], and containing\n data.\n
\n If the [[type]]
internal slot\n of key is not \"private
\", then throw an InvalidAccessError
.\n
\n Let data be an instance of the privateKeyInfo
\n ASN.1 structure defined in [RFC5208]\n with the following properties:\n
\n Set the version field to 0
.\n
\n Set the privateKeyAlgorithm field to a\n PrivateKeyAlgorithmIdentifier
ASN.1 type with the\n following properties:\n
\n Set the algorithm object identifier to the\n id-X25519
OID defined in [RFC8410].\n
\n Set the privateKey field to the result of DER-encoding\n a CurvePrivateKey
ASN.1 type, as defined in Section 7 of [RFC8410], that represents the\n X25519 private key represented by the [[handle]]
internal slot of\n key\n
\n Let result be a new ArrayBuffer
associated with the\n relevant global object\n of this
[HTML], and containing\n data.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Set the kty
attribute of jwk to\n \"OKP
\".\n
\n Set the crv
attribute of jwk to\n \"X25519
\".\n
\n Set the x
attribute of jwk according to the\n definition in Section 2 of [RFC8037].\n
[[type]]
internal slot\n of key is \"private
\"\n d
attribute of jwk according to the\n definition in Section 2 of [RFC8037].\n d
attribute of jwk according to the\n definition in Section 2 of [RFC8037]."
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "html": "\n Set the key_ops
attribute of jwk to the usages
attribute of key.\n
\n Set the ext
attribute of jwk to the [[extractable]]
internal slot\n of key.\n
\n Let result be the result of converting jwk\n to an ECMAScript Object, as defined by [WebIDL].\n
" + } + ] + }, + { + "case": "If format is \"raw\":", + "html": "", + "rationale": "if", + "steps": [ + { + "html": "\n If the [[type]]
internal slot\n of key is not \"public
\", then throw an InvalidAccessError
.\n
\n Let data be an octet string representing the X25519\n public key represented by the [[handle]]
internal slot of\n key.\n
\n Let result be a new ArrayBuffer
associated with the\n relevant global object\n of this
[HTML], and containing\n data.\n
\n throw a\n NotSupportedError
.\n
\n Return result.\n
" + } + ] + }, { "html": "", "rationale": "if", "steps": [ { - "html": "\n If the counter
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n If the counter
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedAlgorithm is zero or is greater\n than 128,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedAlgorithm is zero or is greater\n than 128,\n then throw an\n OperationError
.\n
\n Let ciphertext be the result of performing the CTR Encryption\n operation described in Section 6.5 of [NIST-SP800-38A] using AES as the block cipher, the contents of the counter
member of\n normalizedAlgorithm as the initial value of the counter block, the\n length
member of\n normalizedAlgorithm as the input parameter m to the\n standard counter block incrementing function defined in Appendix B.1 of\n [NIST-SP800-38A] and the contents of\n plaintext as the input plaintext.\n
\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
\n If the counter
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n If the counter
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedAlgorithm is zero or is greater\n than 128,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedAlgorithm is zero or is greater\n than 128,\n then throw an\n OperationError
.\n
\n Let plaintext be the result of performing the CTR Decryption\n operation described in Section 6.5 of [NIST-SP800-38A] using AES as the block cipher, the contents of the counter
member of\n normalizedAlgorithm as the initial value of the counter block, the\n length
member of\n normalizedAlgorithm as the input parameter m to the\n standard counter block incrementing function defined in Appendix B.1 of\n [NIST-SP800-38A] and the contents of\n ciphertext as the input ciphertext.\n
\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n If usages contains any entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains any entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If the length
member of\n normalizedAlgorithm is not equal to one of\n 128, 192 or 256,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedAlgorithm is not equal to one of\n 128, 192 or 256,\n then throw an\n OperationError
.\n
\n Generate an AES key of length\n equal to the length
member of\n normalizedAlgorithm.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-CTR
\".\n
\n Set the name
attribute of\n algorithm to \"AES-CTR
\".\n
\n Set the length
attribute of\n algorithm to equal the\n length
member of\n normalizedAlgorithm.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Return key.\n
" @@ -4555,10 +5480,10 @@ "rationale": "if", "steps": [ { - "html": "\n If usages contains an entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
raw
\":jwk
\":NotSupportedError
.\n raw
\":jwk
\":NotSupportedError
.\n \n Let data be the octet string contained in keyData.\n
" + "html": "\n Let data be the octet string contained in keyData.\n
" }, { - "html": "\n If the length in bits of data is not 128, 192 or 256\n then throw a\n DataError
.\n
\n If the length in bits of data is not 128, 192 or 256\n then throw a\n DataError
.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
alg
field of jwk is present, and is\n not \"A128CTR
\", then throw a DataError
.\n alg
field of jwk is present, and is\n not \"A192CTR
\", then throw a DataError
.\n alg
field of jwk is present, and is\n not \"A256CTR
\", then throw a DataError
.\n DataError
.alg
field of jwk is present, and is\n not \"A128CTR
\", then throw a DataError
.\n alg
field of jwk is present, and is\n not \"A192CTR
\", then throw a DataError
.\n alg
field of jwk is present, and is\n not \"A256CTR
\", then throw a DataError
.\n DataError
.alg
field of jwk is present, and is\n not \"A128CTR
\", then throw a DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A128CTR
\", then throw a DataError
."
},
{
"case": "If data has length 192 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A192CTR
\", then throw a DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A192CTR
\", then throw a DataError
."
},
{
"case": "If data has length 256 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A256CTR
\", then throw a DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A256CTR
\", then throw a DataError
."
},
{
"case": "Otherwise:",
- "html": "throw a\n DataError
."
+ "html": "throw a\n DataError
."
}
]
}
]
},
{
- "html": "\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
]
},
{
- "html": "\n Let key be a new CryptoKey
object representing an AES key with\n value data.\n
\n Let key be a new CryptoKey
object representing an AES key with\n value data.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-CTR
\".\n
\n Set the name
attribute of\n algorithm to \"AES-CTR
\".\n
\n Set the length
attribute of\n algorithm to the length, in bits, of data.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Return key.\n
" @@ -4684,10 +5609,10 @@ "rationale": "if", "steps": [ { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Set the kty
attribute of jwk to the\n string \"oct
\".\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
length
attribute of\n key is 128:alg
attribute of jwk to\n the string \"A128CTR
\".length
attribute of\n key is 192:alg
attribute of jwk to\n the string \"A192CTR
\".length
attribute of\n key is 256:alg
attribute of jwk to\n the string \"A256CTR
\".\n Set the key_ops
attribute of jwk to equal the\n [[usages]]
internal slot of\n key.\n
\n Set the key_ops
attribute of jwk to equal the\n [[usages]]
internal slot of\n key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Let result be the result of converting jwk\n to an ECMAScript Object, as defined by [WebIDL].\n
" @@ -4756,7 +5681,7 @@ }, { "case": "Otherwise:", - "html": "\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256,\n then throw a\n OperationError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256,\n then throw a\n OperationError
.\n
\n Return the length
member of\n normalizedDerivedKeyAlgorithm.\n
\n If the iv
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n If the iv
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n Let paddedPlaintext be the result of adding padding octets to\n the contents of plaintext\n according to the procedure defined in Section 10.3\n of [RFC2315], step 2, with a value of\n k of 16.\n
" @@ -4793,7 +5718,7 @@ "html": "\n Let ciphertext be the result of performing the CBC Encryption\n operation described in Section 6.2 of [NIST-SP800-38A] using AES as the block cipher, the contents of the iv
member of normalizedAlgorithm as\n the IV input parameter and paddedPlaintext\n as the input plaintext.\n
\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
\n If the iv
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n If the iv
member of\n normalizedAlgorithm does not have length 16\n bytes,\n then throw an\n OperationError
.\n
\n Let paddedPlaintext be the result of performing the CBC Decryption\n operation described in Section 6.2 of [NIST-SP800-38A] using AES as the block cipher, the contents of the iv
member of normalizedAlgorithm as\n the IV input parameter and the contents of\n ciphertext as the input ciphertext.\n
\n Let p be the value of the last octet of paddedPlaintext.\n
" }, { - "html": "\n If p is zero or greater than 16, or if any of the last p\n octets of paddedPlaintext have a value which is not p,\n then throw an\n OperationError
.\n
\n If p is zero or greater than 16, or if any of the last p\n octets of paddedPlaintext have a value which is not p,\n then throw an\n OperationError
.\n
\n Let plaintext be the result of removing p octets from\n the end of paddedPlaintext.\n
" }, { - "html": "\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n If usages contains any entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains any entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If the length
member of\n normalizedAlgorithm is not equal to one of\n 128, 192 or 256,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedAlgorithm is not equal to one of\n 128, 192 or 256,\n then throw an\n OperationError
.\n
\n Generate an AES key of length\n equal to the length
member of\n normalizedAlgorithm.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-CBC
\".\n
\n Set the name
attribute of\n algorithm to \"AES-CBC
\".\n
\n Set the length
attribute of\n algorithm to equal the\n length
member of\n normalizedAlgorithm.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Return key.\n
" @@ -4871,10 +5796,10 @@ "rationale": "if", "steps": [ { - "html": "\n If usages contains an entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
raw
\":jwk
\":NotSupportedError
\n raw
\":jwk
\":NotSupportedError
\n \n Let data be the octet string contained in keyData.\n
" + "html": "\n Let data be the octet string contained in keyData.\n
" }, { - "html": "\n If the length in bits of data is not 128, 192 or 256\n then throw a\n DataError
.\n
\n If the length in bits of data is not 128, 192 or 256\n then throw a\n DataError
.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
alg
field of jwk is present, and is\n not \"A128CBC
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A192CBC
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A256CBC
\",\n then throw a\n DataError
.DataError
.\n alg
field of jwk is present, and is\n not \"A128CBC
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A192CBC
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A256CBC
\",\n then throw a\n DataError
.DataError
.\n alg
field of jwk is present, and is\n not \"A128CBC
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A128CBC
\",\n then throw a\n DataError
."
},
{
"case": "If data has length 192 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A192CBC
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A192CBC
\",\n then throw a\n DataError
."
},
{
"case": "If data has length 256 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A256CBC
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A256CBC
\",\n then throw a\n DataError
."
},
{
"case": "Otherwise:",
- "html": "throw a\n DataError
."
+ "html": "throw a\n DataError
."
}
]
}
]
},
{
- "html": "\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
NotSupportedError
"
+ "html": "throw a\n NotSupportedError
"
}
]
}
]
},
{
- "html": "\n Let key be a new CryptoKey
\n object representing an AES key with value data.\n
\n Let key be a new CryptoKey
\n object representing an AES key with value data.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-CBC
\".\n
\n Set the name
attribute of\n algorithm to \"AES-CBC
\".\n
\n Set the length
attribute of\n algorithm to the length, in bits, of data.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Return key.\n
" @@ -5000,10 +5925,10 @@ "rationale": "if", "steps": [ { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
Let jwk be a new JsonWebKey
dictionary.
Let jwk be a new JsonWebKey
dictionary.
\n Set the kty
attribute of jwk to the\n string \"oct
\".\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
length
attribute of\n key is 128:alg
attribute of jwk to\n the string \"A128CBC
\".length
attribute of\n key is 192:alg
attribute of jwk to\n the string \"A192CBC
\".length
attribute of\n key is 256:alg
attribute of jwk to\n the string \"A256CBC
\".\n Set the key_ops
attribute of jwk to equal the\n usages
attribute of key.\n
\n Set the key_ops
attribute of jwk to equal the\n usages
attribute of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Let result be the result of converting jwk\n to an ECMAScript Object, as defined by [WebIDL].\n
" @@ -5072,7 +5997,7 @@ }, { "case": "Otherwise:", - "html": "\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256,\n then throw an\n OperationError
.\n
\n Return the length
member of\n normalizedDerivedKeyAlgorithm.\n
\n If plaintext has a length greater than 2^39 - 256\n bytes,\n then throw an\n OperationError
.\n
\n If plaintext has a length greater than 2^39 - 256\n bytes,\n then throw an\n OperationError
.\n
\n If the iv
member of\n normalizedAlgorithm has a length greater than 2^64 - 1\n bytes,\n then throw an\n OperationError
.\n
\n If the iv
member of\n normalizedAlgorithm has a length greater than 2^64 - 1\n bytes,\n then throw an\n OperationError
.\n
\n If the additionalData
member\n of normalizedAlgorithm is present and has a length\n greater than 2^64 - 1 bytes,\n then throw an\n OperationError
.\n
\n If the additionalData
member\n of normalizedAlgorithm is present and has a length\n greater than 2^64 - 1 bytes,\n then throw an\n OperationError
.\n
tagLength
member of\n normalizedAlgorithm is not present:tagLength
member of\n normalizedAlgorithm is one of 32, 64, 96, 104, 112, 120 or 128:tagLength
member of\n normalizedAlgorithmOperationError
.\n tagLength
member of\n normalizedAlgorithm is not present:tagLength
member of\n normalizedAlgorithm is one of 32, 64, 96, 104, 112, 120 or 128:tagLength
member of\n normalizedAlgorithmOperationError
.\n OperationError
."
+ "html": "throw an\n OperationError
."
}
]
}
@@ -5141,7 +6066,7 @@
"html": "\n Let ciphertext be equal to C | T,\n where '|' denotes concatenation.\n
" }, { - "html": "\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
\n Return the result of creating\n an ArrayBuffer
containing ciphertext.\n
tagLength
member of\n normalizedAlgorithm is not present:tagLength
member of\n normalizedAlgorithm is one of 32, 64, 96, 104, 112, 120 or 128:tagLength
member of\n normalizedAlgorithmOperationError
.\n tagLength
member of\n normalizedAlgorithm is not present:tagLength
member of\n normalizedAlgorithm is one of 32, 64, 96, 104, 112, 120 or 128:tagLength
member of\n normalizedAlgorithmOperationError
.\n OperationError
."
+ "html": "throw an\n OperationError
."
}
]
}
]
},
{
- "html": "\n If ciphertext has a length less than tagLength bits,\n then throw an\n OperationError
.\n
\n If ciphertext has a length less than tagLength bits,\n then throw an\n OperationError
.\n
\n If the iv
member of\n normalizedAlgorithm has a length greater than 2^64 - 1\n bytes,\n then throw an\n OperationError
.\n
\n If the iv
member of\n normalizedAlgorithm has a length greater than 2^64 - 1\n bytes,\n then throw an\n OperationError
.\n
\n If the additionalData
member\n of normalizedAlgorithm is present and has a length\n greater than 2^64 - 1\n bytes,\n then throw an\n OperationError
.\n
\n If the additionalData
member\n of normalizedAlgorithm is present and has a length\n greater than 2^64 - 1\n bytes,\n then throw an\n OperationError
.\n
\n Let tag be the last tagLength bits of\n ciphertext.\n
" @@ -5199,7 +6124,7 @@ "steps": [ { "case": "If the result of the algorithm is the indication of inauthenticity, \"FAIL\":", - "html": "throw an\nOperationError
"
+ "html": "throw an\n OperationError
"
},
{
"case": "Otherwise:",
@@ -5210,7 +6135,7 @@
]
},
{
- "html": "\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n Return the result of creating\n an ArrayBuffer
containing plaintext.\n
\n If usages contains any entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains any entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If the length
member of\n normalizedAlgorithm is not equal to one of\n 128, 192 or 256,\n then throw an\n OperationError
.\n
\n If the length
member of\n normalizedAlgorithm is not equal to one of\n 128, 192 or 256,\n then throw an\n OperationError
.\n
\n Generate an AES key of length\n equal to the length
member of\n normalizedAlgorithm.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-GCM
\".\n
\n Set the name
attribute of\n algorithm to \"AES-GCM
\".\n
\n Set the length
attribute of\n algorithm to equal the\n length
member of\n normalizedAlgorithm.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Return key.\n
" @@ -5264,10 +6189,10 @@ "rationale": "if", "steps": [ { - "html": "\n If usages contains an entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n one of \"encrypt
\", \"decrypt
\",\n \"wrapKey
\" or \"unwrapKey
\",\n then throw a\n SyntaxError
.\n
raw
\":jwk
\":NotSupportedError
.\n raw
\":jwk
\":NotSupportedError
.\n \n Let data be the octet string contained in keyData.\n
" + "html": "\n Let data be the octet string contained in keyData.\n
" }, { - "html": "\n If the length in bits of data is not 128, 192 or 256\n then throw a\n DataError
.\n
\n If the length in bits of data is not 128, 192 or 256\n then throw a\n DataError
.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
alg
field of jwk is present, and is\n not \"A128GCM
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A192GCM
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A256GCM
\",\n then throw a\n DataError
.DataError
.\n alg
field of jwk is present, and is\n not \"A128GCM
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A192GCM
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A256GCM
\",\n then throw a\n DataError
.DataError
.\n alg
field of jwk is present, and is\n not \"A128GCM
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A128GCM
\",\n then throw a\n DataError
."
},
{
"case": "If data has length 192 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A192GCM
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A192GCM
\",\n then throw a\n DataError
."
},
{
"case": "If data has length 256 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A256GCM
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A256GCM
\",\n then throw a\n DataError
."
},
{
"case": "Otherwise:",
- "html": "throw a\n DataError
."
+ "html": "throw a\n DataError
."
}
]
}
]
},
{
- "html": "\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
]
},
{
- "html": "\n Let key be a new CryptoKey
\n object representing an AES key with value data.\n
\n Let key be a new CryptoKey
\n object representing an AES key with value data.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-GCM
\".\n
\n Set the name
attribute of\n algorithm to \"AES-GCM
\".\n
\n Set the length
attribute of\n algorithm to the length, in bits, of data.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Return key.\n
" @@ -5393,10 +6318,10 @@ "rationale": "if", "steps": [ { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Set the kty
attribute of jwk to the\n string \"oct
\".\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
length
attribute of\n key is 128:alg
attribute of jwk to\n the string \"A128GCM
\".length
attribute of\n key is 192:alg
attribute of jwk to\n the string \"A192GCM
\".length
attribute of\n key is 256:alg
attribute of jwk to\n the string \"A256GCM
\".\n Set the key_ops
attribute of jwk to equal the\n usages
attribute of\n key.\n
\n Set the key_ops
attribute of jwk to equal the\n usages
attribute of\n key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Let result be the result of converting jwk\n to an ECMAScript Object, as defined by [WebIDL].\n
" @@ -5465,7 +6390,7 @@ }, { "case": "Otherwise:", - "html": "\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256, then throw an OperationError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256, then throw an OperationError
.\n
\n Return the length
member of\n normalizedDerivedKeyAlgorithm.\n
\n If plaintext is not a multiple of 64 bits in length,\n then throw an\n OperationError
.\n
\n If plaintext is not a multiple of 64 bits in length,\n then throw an\n OperationError
.\n
\n Let ciphertext be the result of performing the Key Wrap\n operation described in Section 2.2.1 of [RFC3394]\n with plaintext as the plaintext to be wrapped and using the default\n Initial Value defined in Section 2.2.3.1 of the same document.\n
" @@ -5511,7 +6436,7 @@ "html": "\n Let plaintext be the result of performing the Key Unwrap\n operation described in Section 2.2.2 of [RFC3394] with\n ciphertext as the input ciphertext and using the default Initial\n Value defined in Section 2.2.3.1 of the same document.\n
" }, { - "html": "\n If the Key Unwrap operation returns an error,\n then throw an\n OperationError
.\n
\n If the Key Unwrap operation returns an error,\n then throw an\n OperationError
.\n
\n Return plaintext.\n
" @@ -5523,40 +6448,40 @@ "rationale": "if", "steps": [ { - "html": "\n If usages contains any entry which is not one of\n \"wrapKey
\" or \"unwrapKey
\", then throw a SyntaxError
.\n
\n If usages contains any entry which is not one of\n \"wrapKey
\" or \"unwrapKey
\", then throw a SyntaxError
.\n
\n If the length
property of\n normalizedAlgorithm is not equal to one of 128, 192 or 256, then throw an OperationError
.\n
\n If the length
property of\n normalizedAlgorithm is not equal to one of 128, 192 or 256, then throw an OperationError
.\n
\n Generate an AES key of length\n equal to the length
member of\n normalizedAlgorithm.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let key be a new\n CryptoKey
object representing the\n generated AES key.\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-KW
\".\n
\n Set the name
attribute of\n algorithm to \"AES-KW
\".\n
\n Set the length
attribute of\n algorithm to equal the\n length
property of\n normalizedAlgorithm.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Return key.\n
" @@ -5568,10 +6493,10 @@ "rationale": "if", "steps": [ { - "html": "\n If usages contains an entry which is not\n one of \"wrapKey
\" or \"unwrapKey
\",\n\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n one of \"wrapKey
\" or \"unwrapKey
\",\n\n then throw a\n SyntaxError
.\n
raw
\":jwk
\":NotSupportedError
.\n raw
\":jwk
\":NotSupportedError
.\n \n Let data be the octet string contained in keyData.\n
" + "html": "\n Let data be the octet string contained in keyData.\n
" }, { - "html": "\n If the length in bits of data is not 128, 192 or 256\n\n then throw a\n DataError
.\n
\n If the length in bits of data is not 128, 192 or 256\n\n then throw a\n DataError
.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
alg
field of jwk is present, and is\n not \"A128KW
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A192KW
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A256KW
\",\n then throw a\n DataError
.DataError
.\n alg
field of jwk is present, and is\n not \"A128KW
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A192KW
\",\n then throw a\n DataError
.alg
field of jwk is present, and is\n not \"A256KW
\",\n then throw a\n DataError
.DataError
.\n alg
field of jwk is present, and is\n not \"A128KW
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A128KW
\",\n then throw a\n DataError
."
},
{
"case": "If data has length 192 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A192KW
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A192KW
\",\n then throw a\n DataError
."
},
{
"case": "If data has length 256 bits:",
- "html": "If the alg
field of jwk is present, and is\n not \"A256KW
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present, and is\n not \"A256KW
\",\n then throw a\n DataError
."
},
{
"case": "Otherwise:",
- "html": "throw a\n DataError
."
+ "html": "throw a\n DataError
."
}
]
}
]
},
{
- "html": "\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"enc
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.
NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
]
},
{
- "html": "\n Let key be a new CryptoKey
\n representing an AES key with value data.\n
\n Let key be a new CryptoKey
\n representing an AES key with value data.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Let algorithm be a new\n AesKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"AES-KW
\".\n
\n Set the name
attribute of\n algorithm to \"AES-KW
\".\n
\n Set the length
attribute of\n algorithm to the length, in bits, of data.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Return key.\n
" @@ -5697,10 +6622,10 @@ "rationale": "if", "steps": [ { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let data be the raw octets of the key represented by [[handle]]
internal slot of\n key.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Set the kty
attribute of jwk to the\n string \"oct
\".\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
\n Set the k
attribute of jwk to be a string\n containing the raw octets of the key represented by [[handle]]
internal slot of\n key, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
length
attribute of\n key is 128:alg
attribute of jwk to\n the string \"A128KW
\".length
attribute of\n key is 192:alg
attribute of jwk to\n the string \"A192KW
\".length
attribute of\n key is 256:alg
attribute of jwk to\n the string \"A256KW
\".\n Set the key_ops
attribute of jwk to equal the\n usages
attribute of key.\n
\n Set the key_ops
attribute of jwk to equal the\n usages
attribute of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Let result be the result of converting jwk\n to an ECMAScript Object, as defined by [WebIDL].\n
" @@ -5769,7 +6694,7 @@ }, { "case": "Otherwise:", - "html": "\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256, then throw an OperationError
.\n
\n If the length
member of\n normalizedDerivedKeyAlgorithm is not 128, 192 or 256, then throw an OperationError
.\n
\n Return the length
member of\n normalizedDerivedKeyAlgorithm.\n
\n Let mac be the result of performing the MAC Generation operation\n described in Section 4 of [FIPS-198-1] using\n the key represented by [[handle]]
\n internal slot of key, the hash function identified by the hash
attribute of the [[algorithm]]
internal slot of\n key and message as the input data text.\n
\n Let mac be the result of performing the MAC Generation operation\n described in Section 4 of [FIPS-198-1] using\n the key represented by [[handle]]
\n internal slot of key, the hash function identified by the hash
attribute of the [[algorithm]]
internal slot of\n key and message as the input data text.\n
\n Return the result of creating\n an ArrayBuffer
containing mac.\n
\n Return the result of creating\n an ArrayBuffer
containing mac.\n
\n Let mac be the result of performing the MAC Generation operation\n described in Section 4 of [FIPS-198-1] using\n the key represented by [[handle]]
\n internal slot of key, the hash function identified by the hash
attribute of the [[algorithm]]
internal slot of\n key and message as the input data text.\n
\n Let mac be the result of performing the MAC Generation operation\n described in Section 4 of [FIPS-198-1] using\n the key represented by [[handle]]
\n internal slot of key, the hash function identified by the hash
attribute of the [[algorithm]]
internal slot of\n key and message as the input data text.\n
\n Return true if mac is equal to signature and false\n otherwise.\n
" @@ -5821,10 +6746,10 @@ "rationale": "if", "steps": [ { - "html": "\n If usages contains any entry which is not \"sign
\" or\n \"verify
\", then throw a SyntaxError
.\n
\n If usages contains any entry which is not \"sign
\" or\n \"verify
\", then throw a SyntaxError
.\n
length
member of\n normalizedAlgorithm is not present:\n hash
member\n of normalizedAlgorithm.\n length
\n member of normalizedAlgorithm is non-zero:\n length
\n member of normalizedAlgorithm.\n OperationError
.\n length
member of\n normalizedAlgorithm is not present:\n hash
member\n of normalizedAlgorithm.\n length
\n member of normalizedAlgorithm is non-zero:\n length
\n member of normalizedAlgorithm.\n OperationError
.\n OperationError
."
+ "html": "throw an\n OperationError
."
}
]
}
@@ -5850,37 +6775,37 @@
"html": "\n Generate a key of length length bits.\n
" }, { - "html": "\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n If the key generation step fails,\n then throw an\n OperationError
.\n
\n Let key be a new\n CryptoKey
object representing the\n generated key.\n
\n Let key be a new\n CryptoKey
object representing the\n generated key.\n
\n Let algorithm be a new\n HmacKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"HMAC
\".\n
\n Set the name
attribute of\n algorithm to \"HMAC
\".\n
\n Let hash be a new\n KeyAlgorithm
.\n
\n Let hash be a new\n KeyAlgorithm
.\n
\n Set the name
attribute of\n hash to equal the name
\n member of the hash
\n member of normalizedAlgorithm.\n
\n Set the name
attribute of\n hash to equal the name
\n member of the hash
\n member of normalizedAlgorithm.\n
\n Set the hash
attribute\n of algorithm to hash.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[extractable]]
internal\n slot of key to be extractable.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Set the [[usages]]
internal slot of\n key to be usages.\n
\n Return key.\n
" @@ -5895,13 +6820,13 @@ "html": "Let keyData be the key data to be imported.
" }, { - "html": "\n If usages contains an entry which is not\n \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n If usages contains an entry which is not\n \"sign
\" or \"verify
\",\n then throw a\n SyntaxError
.\n
\n Let hash be a new KeyAlgorithm
.\n
\n Let hash be a new KeyAlgorithm
.\n
raw
\":jwk
\":NotSupportedError
.\n raw
\":jwk
\":NotSupportedError
.\n \n Let data be the octet string contained in keyData.\n
" + "html": "\n Let data be the octet string contained in keyData.\n
" }, { "html": "\n Set hash to equal the hash
\n member of normalizedAlgorithm.\n
JsonWebKey
dictionary:Let jwk equal keyData.
JsonWebKey
dictionary:Let jwk equal keyData.
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If the kty
field of jwk is not\n \"oct
\",\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n If jwk does not meet the requirements of\n Section 6.4 of JSON Web Algorithms [JWA],\n then throw a\n DataError
.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
\n Let data be the octet string obtained by decoding the\n k
field of jwk.\n
\n Set the hash to equal the hash
member of\n normalizedAlgorithm.\n
name
attribute\n of hash is\n \"SHA-1
\":\n alg
field of jwk is present\n and is not \"HS1
\",\n then throw a\n DataError
.\n name
attribute\n of hash is\n \"SHA-256
\":\n alg
field of jwk is present\n and is not \"HS256
\",\n then throw a\n DataError
.\n name
attribute\n of hash is\n \"SHA-384
\":\n alg
field of jwk is present\n and is not \"HS384
\",\n then throw a\n DataError
.\n name
attribute\n of hash is\n \"SHA-512
\":\n alg
field of jwk is present\n and is not \"HS512
\",\n then throw a\n DataError
.\n name
attribute\n of hash is defined in\n another applicable\n specification:\n name
attribute\n of hash is\n \"SHA-1
\":\n alg
field of jwk is present\n and is not \"HS1
\",\n then throw a\n DataError
.\n name
attribute\n of hash is\n \"SHA-256
\":\n alg
field of jwk is present\n and is not \"HS256
\",\n then throw a\n DataError
.\n name
attribute\n of hash is\n \"SHA-384
\":\n alg
field of jwk is present\n and is not \"HS384
\",\n then throw a\n DataError
.\n name
attribute\n of hash is\n \"SHA-512
\":\n alg
field of jwk is present\n and is not \"HS512
\",\n then throw a\n DataError
.\n name
attribute\n of hash is defined in\n another applicable\n specification:\n alg
field of jwk is present\n and is not \"HS1
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present\n and is not \"HS1
\",\n then throw a\n DataError
."
},
{
"case": "If the name attribute of hash is \"SHA-256\":",
- "html": "If the alg
field of jwk is present\n and is not \"HS256
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present\n and is not \"HS256
\",\n then throw a\n DataError
."
},
{
"case": "If the name attribute of hash is \"SHA-384\":",
- "html": "If the alg
field of jwk is present\n and is not \"HS384
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present\n and is not \"HS384
\",\n then throw a\n DataError
."
},
{
"case": "If the name attribute of hash is \"SHA-512\":",
- "html": "If the alg
field of jwk is present\n and is not \"HS512
\",\n then throw a\n DataError
."
+ "html": "If the alg
field of jwk is present\n and is not \"HS512
\",\n then throw a\n DataError
."
},
{
"case": "Otherwise, if the name attribute of hash is defined in another applicable specification:",
@@ -5988,19 +6913,19 @@
]
},
{
- "html": "\n If usages is non-empty and the use
field of jwk is present and is\n not \"sign
\",\n then throw a\n DataError
.\n
\n If usages is non-empty and the use
field of jwk is present and is\n not \"sign
\",\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the key_ops
field of jwk is present, and\n is invalid according to the requirements of\n JSON Web Key [JWK] or\n does not contain all of the specified usages values,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
\n If the ext
field of jwk is present and\n has the value false and extractable is true,\n then throw a\n DataError
.\n
NotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
@@ -6010,10 +6935,10 @@
"html": "\n Let length be equivalent to the length, in octets, of\n data, multiplied by 8.\n
" }, { - "html": "\n If length is zero\n then throw a\n DataError
.\n
\n If length is zero\n then throw a\n DataError
.\n
length
member of\n normalizedAlgorithm is present:\n length
member of\n normalizedAlgorithm is greater than length:\n DataError
.\n length
member of\n normalizedAlgorithm, is less than or equal to\n length minus eight:\n DataError
.\n length
\n member of normalizedAlgorithm.\n length
member of\n normalizedAlgorithm is present:\n length
member of\n normalizedAlgorithm is greater than length:\n DataError
.\n length
member of\n normalizedAlgorithm, is less than or equal to\n length minus eight:\n DataError
.\n length
\n member of normalizedAlgorithm.\n length
member of\n normalizedAlgorithm is greater than length:\n DataError
.\n length
member of\n normalizedAlgorithm, is less than or equal to\n length minus eight:\n DataError
.\n length
\n member of normalizedAlgorithm.\n length
member of\n normalizedAlgorithm is greater than length:\n DataError
.\n length
member of\n normalizedAlgorithm, is less than or equal to\n length minus eight:\n DataError
.\n length
\n member of normalizedAlgorithm.\n DataError
."
+ "html": "throw a\n DataError
."
},
{
"case": "If the length member of normalizedAlgorithm, is less than or equal to length minus eight:",
- "html": "throw a\n DataError
."
+ "html": "throw a\n DataError
."
},
{
"case": "Otherwise:",
@@ -6048,16 +6973,16 @@
]
},
{
- "html": "\n Let key be a new CryptoKey
\n object representing an HMAC key with the first length\n bits of data.\n
\n Let key be a new CryptoKey
\n object representing an HMAC key with the first length\n bits of data.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Let algorithm be a new\n HmacKeyAlgorithm
.\n
\n Set the name
attribute of\n algorithm to \"HMAC
\".\n
\n Set the name
attribute of\n algorithm to \"HMAC
\".\n
\n Set the length
attribute of\n algorithm to length.\n
\n Set the hash
attribute of\n algorithm to hash.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Return key.\n
" @@ -6078,16 +7003,16 @@ "rationale": "if", "steps": [ { - "html": "\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n If the underlying cryptographic key material represented by the [[handle]]
internal slot of key\n cannot be accessed, then throw an OperationError
.\n
\n Let bits be the raw bits of the key represented by [[handle]]
internal slot of\n key.\n
\n Let bits be the raw bits of the key represented by [[handle]]
internal slot of\n key.\n
\n Let data be an octet string containing bits.\n
" + "html": "\n Let data be an octet string containing bits.\n
" }, { - "html": "raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
raw
\":jwk
\":\n throw a\n NotSupportedError
.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let result be the result of creating\n an ArrayBuffer
containing data.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Let jwk be a new JsonWebKey
\n dictionary.\n
\n Set the kty
attribute of jwk to the\n string \"oct
\".\n
\n Set the k
attribute of jwk to be a string\n containing data, encoded according to Section 6.4 of JSON Web Algorithms [JWA].\n
\n Let algorithm be the [[algorithm]]
internal slot of\n key.\n
\n Let algorithm be the [[algorithm]]
internal slot of\n key.\n
\n Let hash be the\n hash
attribute of\n algorithm.\n
name
attribute of\n hash is \"SHA-1
\":alg
attribute of jwk to\n the string \"HS1
\".name
attribute of\n hash is \"SHA-256
\":alg
attribute of jwk to\n the string \"HS256
\".name
attribute of\n hash is \"SHA-384
\":alg
attribute of jwk to\n the string \"HS384
\".name
attribute of\n hash is \"SHA-512
\":alg
attribute of jwk to\n the string \"HS512
\".name
attribute\n of hash is defined in\n another applicable\n specification:\n name
attribute of\n hash is \"SHA-1
\":alg
attribute of jwk to\n the string \"HS1
\".name
attribute of\n hash is \"SHA-256
\":alg
attribute of jwk to\n the string \"HS256
\".name
attribute of\n hash is \"SHA-384
\":alg
attribute of jwk to\n the string \"HS384
\".name
attribute of\n hash is \"SHA-512
\":alg
attribute of jwk to\n the string \"HS512
\".name
attribute\n of hash is defined in\n another applicable\n specification:\n \n Set the key_ops
attribute of jwk to equal the\n usages
attribute of key.\n
\n Set the key_ops
attribute of jwk to equal the\n usages
attribute of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Set the ext
attribute of jwk to equal the [[extractable]]
internal slot\n of key.\n
\n Let result be the result of converting jwk\n to an ECMAScript Object, as defined by [WebIDL].\n
" @@ -6176,7 +7101,7 @@ }, { "case": "Otherwise:", - "html": "\n throw a\n NotSupportedError
.\n
\n throw a\n NotSupportedError
.\n
length
member of\n normalizedDerivedKeyAlgorithm is not present:\n \n Let length be the block size in bits of the hash function\n identified by the hash
member\n of normalizedDerivedKeyAlgorithm.\n
length
\n member of normalizedDerivedKeyAlgorithm is non-zero:\n length
\n member of normalizedDerivedKeyAlgorithm.\n TypeError
.\n length
member of\n normalizedDerivedKeyAlgorithm is not present:\n \n Let length be the block size in bits of the hash function\n identified by the hash
member\n of normalizedDerivedKeyAlgorithm.\n
length
\n member of normalizedDerivedKeyAlgorithm is non-zero:\n length
\n member of normalizedDerivedKeyAlgorithm.\n TypeError
.\n TypeError
."
+ "html": "throw a\n TypeError
."
}
]
}
@@ -6251,10 +7176,10 @@
]
},
{
- "html": "\n If performing the operation results in an error, then throw an OperationError
.\n
\n If performing the operation results in an error, then throw an OperationError
.\n
\n Return the result of creating\n an ArrayBuffer
containing result.\n
\n Return the result of creating\n an ArrayBuffer
containing result.\n
\n If length is null or is not a multiple of 8, then throw an OperationError
.\n
\n If length is null or is not a multiple of 8, then throw an OperationError
.\n
\n Let keyDerivationKey be the secret represented by [[handle]]
internal slot of key.\n
\n Let keyDerivationKey be the secret represented by [[handle]]
internal slot of key.\n
\n Let result be the result of performing the HKDF extract and then\n the HKDF expand step described in Section 2 of\n [RFC5869] using:\n
\n\n the hash
member of\n normalizedAlgorithm as Hash,\n
\n keyDerivationKey as the input keying material,\n IKM,\n
\n\n the contents of the salt
member of\n normalizedAlgorithm as salt,\n
\n the contents of the info
member of\n normalizedAlgorithm as info,\n
\n length divided by 8 as the value of L,\n
\n\n If the key derivation operation fails,\n then throw an\n OperationError
.\n
\n If the key derivation operation fails,\n then throw an\n OperationError
.\n
\n Return the result of creating\n an ArrayBuffer
containing result.\n
\n Return the result of creating\n an ArrayBuffer
containing result.\n
Let keyData be the key data to be imported.
" }, { - "html": "raw
\":\n NotSupportedError
.\n raw
\":\n NotSupportedError
.\n \n If usages contains a value that is not\n \"deriveKey
\" or \"deriveBits
\",\n\n then throw a\n SyntaxError
.\n
\n If usages contains a value that is not\n \"deriveKey
\" or \"deriveBits
\",\n\n then throw a\n SyntaxError
.\n
\n If extractable is not false
,\n then throw a\n SyntaxError
.\n
\n If extractable is not false
,\n then throw a\n SyntaxError
.\n
\n Let key be a new CryptoKey
\n representing the key data provided in keyData.\n
\n Let key be a new CryptoKey
\n representing the key data provided in keyData.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Let algorithm be a new\n KeyAlgorithm
object.\n
\n Let algorithm be a new\n KeyAlgorithm
object.\n
\n Set the name
attribute of\n algorithm to \"HKDF
\".\n
\n Set the name
attribute of\n algorithm to \"HKDF
\".\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Return key.\n
" @@ -6326,7 +7251,7 @@ }, { "case": "Otherwise:", - "html": "throw a\nNotSupportedError
."
+ "html": "throw a\n NotSupportedError
."
}
]
}
@@ -6348,25 +7273,25 @@
"rationale": "if",
"steps": [
{
- "html": "\n If length is null or is not a multiple of 8, then throw an OperationError
.\n
\n If length is null or is not a multiple of 8, then throw an OperationError
.\n
\n If the iterations
member of normalizedAlgorithm is zero,\n then throw an OperationError
.\n
\n If the iterations
member of normalizedAlgorithm is zero,\n then throw an OperationError
.\n
\n If length is zero, return the result of\n creating an ArrayBuffer
\n containing an empty byte sequence.\n
\n If length is zero, return the result of\n creating an ArrayBuffer
\n containing an empty byte sequence.\n
\n Let prf be the MAC Generation function described in Section 4 of\n [FIPS-198-1] using the hash function\n described by the hash
member of\n normalizedAlgorithm.\n
\n Let result be the result of performing the PBKDF2 operation defined\n in Section 5.2 of [RFC8018] using prf as the\n pseudo-random function, PRF, the password represented by [[handle]]
internal slot of key\n as the password, P, the\n contents of the salt
attribute of\n normalizedAlgorithm as the salt, S, the value of the iterations
attribute of\n normalizedAlgorithm as the iteration count, c, and\n length divided by 8 as the intended key length, dkLen.\n
\n Let result be the result of performing the PBKDF2 operation defined\n in Section 5.2 of [RFC8018] using prf as the\n pseudo-random function, PRF, the password represented by [[handle]]
internal slot of key\n as the password, P, the\n contents of the salt
attribute of\n normalizedAlgorithm as the salt, S, the value of the iterations
attribute of\n normalizedAlgorithm as the iteration count, c, and\n length divided by 8 as the intended key length, dkLen.\n
\n If the key derivation operation fails,\n then throw an\n OperationError
.\n
\n If the key derivation operation fails,\n then throw an\n OperationError
.\n
\n Return the result of creating\n an ArrayBuffer
containing result.\n
\n Return the result of creating\n an ArrayBuffer
containing result.\n
\n If format is not \"raw
\", throw a NotSupportedError
\n
\n If format is not \"raw
\", throw a NotSupportedError
\n
\n If usages contains a value that is not\n \"deriveKey
\" or \"deriveBits
\", then\n throw a SyntaxError
.\n
\n If usages contains a value that is not\n \"deriveKey
\" or \"deriveBits
\", then\n throw a SyntaxError
.\n
\n If extractable is not false
,\n then throw a\n SyntaxError
.\n
\n If extractable is not false
,\n then throw a\n SyntaxError
.\n
\n Let key be a new CryptoKey
\n representing keyData.\n
\n Let key be a new CryptoKey
\n representing keyData.\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Set the [[type]]
internal slot of\n key to \"secret
\".\n
\n Let algorithm be a new KeyAlgorithm
\n object.\n
\n Let algorithm be a new KeyAlgorithm
\n object.\n
\n Set the name
attribute of\n algorithm to \"PBKDF2
\".\n
\n Set the name
attribute of\n algorithm to \"PBKDF2
\".\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Set the [[algorithm]]
internal\n slot of key to algorithm.\n
\n Return key.\n
" diff --git a/ed/algorithms/webdriver2.json b/ed/algorithms/webdriver2.json index 71df3f3fc82b..03ad4dacf9f4 100644 --- a/ed/algorithms/webdriver2.json +++ b/ed/algorithms/webdriver2.json @@ -4934,25 +4934,36 @@ ] }, { - "name": "dispatch actions", - "href": "https://w3c.github.io/webdriver/#dfn-dispatch-actions", - "html": "To dispatch actions given input\nstate, actions by tick, browsing\ncontext, and actions options:", + "name": "wait for an action queue token", + "href": "https://w3c.github.io/webdriver/#dfn-wait-for-an-action-queue-token", + "html": "To wait for an action queue token given input state:", "rationale": ".algorithm", "steps": [ { "html": "Let token be a new unique identifier.\n\n
" }, { - "html": "Enqueue token in input state's actions\n queue.\n\n
" + "html": "Enqueue token in input state's\n actions queue.\n\n
" }, { - "html": "Wait for token to be the first item\n in input state's actions queue.\n\n
" + "html": "Wait for token to be the first item\n in input state's actions queue.\n\n
" + } + ] + }, + { + "name": "dispatch actions", + "href": "https://w3c.github.io/webdriver/#dfn-dispatch-actions", + "html": "To dispatch actions given input\nstate, actions by tick, browsing\ncontext, and actions options:", + "rationale": ".algorithm", + "steps": [ + { + "html": "Wait for an action queue token with input state.\n\n
" }, { - "html": "Let actions result be the result of dispatch\n actions inner with input state, actions by\n tick, browsing context, and actions options.\n\n
" + "html": "Let actions result be the result of\n dispatch actions inner with input state, actions by\n tick, browsing context, and actions options.\n\n
" }, { - "html": "Dequeue input state's actions queue.\n
Assert: this returns token\n\n
" + "html": "Dequeue input state's actions queue.\n
Assert: this returns token\n\n
" }, { "html": "Return actions result.\n
" @@ -5538,19 +5549,22 @@ "html": "If session's current browsing context\n is no longer open, return error with error\n code no such window.\n\n
" }, { - "html": "Let input state be the result of get the\n input state with session and current\n top-level browsing context.\n\n
" + "html": "Let input state be the result of get the input state\n with session and current top-level browsing context.\n\n
" }, { "html": "Let actions options be a new actions options\n with the is element origin steps set to represents a web\n element, and the get element origin steps set\n to get a WebElement origin.\n\n
" }, { - "html": "Let undo actions be input\n state's input cancel list in reverse order.\n\n
" + "html": "Wait for an action queue token with input state.\n\n
" + }, + { + "html": "Let undo actions be input\n state's input cancel list in reverse order.\n\n
" }, { - "html": "Try to dispatch tick actions with arguments\n undo\n actions, 0
,session's current\n browsing context, and actions options.\n\n
Try to dispatch actions with input state,\n undo actions, current browsing context,\n and actions options.\n\n\n
" }, { - "html": "Reset the input state with session\n and session's current top-level browsing\n context.\n\n
" + "html": "Reset the input state with session\n and session's current top-level browsing context.\n\n
" }, { "html": "" diff --git a/ed/dfns/WebCryptoAPI.json b/ed/dfns/WebCryptoAPI.json index 0c1cadea1237..e1b727403980 100644 --- a/ed/dfns/WebCryptoAPI.json +++ b/ed/dfns/WebCryptoAPI.json @@ -3199,7 +3199,7 @@ "id": "aes-ctr-params", "href": "https://w3c.github.io/webcrypto/#aes-ctr-params", "title": "AesCtrParams dictionary", - "number": "25.3" + "number": "27.3" }, "definedIn": "heading" }, @@ -3220,7 +3220,7 @@ "id": "aes-ctr-params", "href": "https://w3c.github.io/webcrypto/#aes-ctr-params", "title": "AesCtrParams dictionary", - "number": "25.3" + "number": "27.3" }, "definedIn": "prose" }, @@ -3241,7 +3241,7 @@ "id": "aes-ctr-params", "href": "https://w3c.github.io/webcrypto/#aes-ctr-params", "title": "AesCtrParams dictionary", - "number": "25.3" + "number": "27.3" }, "definedIn": "prose" }, @@ -3260,7 +3260,7 @@ "id": "AesKeyAlgorithm-dictionary", "href": "https://w3c.github.io/webcrypto/#AesKeyAlgorithm-dictionary", "title": "AesKeyAlgorithm dictionary", - "number": "25.4" + "number": "27.4" }, "definedIn": "heading" }, @@ -3281,7 +3281,7 @@ "id": "AesKeyAlgorithm-dictionary", "href": "https://w3c.github.io/webcrypto/#AesKeyAlgorithm-dictionary", "title": "AesKeyAlgorithm dictionary", - "number": "25.4" + "number": "27.4" }, "definedIn": "prose" }, @@ -3300,7 +3300,7 @@ "id": "aes-keygen-params", "href": "https://w3c.github.io/webcrypto/#aes-keygen-params", "title": "AesKeyGenParams dictionary", - "number": "25.5" + "number": "27.5" }, "definedIn": "heading" }, @@ -3321,7 +3321,7 @@ "id": "aes-keygen-params", "href": "https://w3c.github.io/webcrypto/#aes-keygen-params", "title": "AesKeyGenParams dictionary", - "number": "25.5" + "number": "27.5" }, "definedIn": "prose" }, @@ -3340,7 +3340,7 @@ "id": "aes-derivedkey-params", "href": "https://w3c.github.io/webcrypto/#aes-derivedkey-params", "title": "AesDerivedKeyParams dictionary", - "number": "25.6" + "number": "27.6" }, "definedIn": "heading" }, @@ -3361,7 +3361,7 @@ "id": "aes-derivedkey-params", "href": "https://w3c.github.io/webcrypto/#aes-derivedkey-params", "title": "AesDerivedKeyParams dictionary", - "number": "25.6" + "number": "27.6" }, "definedIn": "prose" }, @@ -3380,7 +3380,7 @@ "id": "aes-cbc-params", "href": "https://w3c.github.io/webcrypto/#aes-cbc-params", "title": "AesCbcParams dictionary", - "number": "26.3" + "number": "28.3" }, "definedIn": "heading" }, @@ -3401,7 +3401,7 @@ "id": "aes-cbc-params", "href": "https://w3c.github.io/webcrypto/#aes-cbc-params", "title": "AesCbcParams dictionary", - "number": "26.3" + "number": "28.3" }, "definedIn": "prose" }, @@ -3420,7 +3420,7 @@ "id": "aes-gcm-params", "href": "https://w3c.github.io/webcrypto/#aes-gcm-params", "title": "AesGcmParams dictionary", - "number": "27.3" + "number": "29.3" }, "definedIn": "heading" }, @@ -3441,7 +3441,7 @@ "id": "aes-gcm-params", "href": "https://w3c.github.io/webcrypto/#aes-gcm-params", "title": "AesGcmParams dictionary", - "number": "27.3" + "number": "29.3" }, "definedIn": "prose" }, @@ -3462,7 +3462,7 @@ "id": "aes-gcm-params", "href": "https://w3c.github.io/webcrypto/#aes-gcm-params", "title": "AesGcmParams dictionary", - "number": "27.3" + "number": "29.3" }, "definedIn": "prose" }, @@ -3483,7 +3483,7 @@ "id": "aes-gcm-params", "href": "https://w3c.github.io/webcrypto/#aes-gcm-params", "title": "AesGcmParams dictionary", - "number": "27.3" + "number": "29.3" }, "definedIn": "prose" }, @@ -3502,7 +3502,7 @@ "id": "hmac-description", "href": "https://w3c.github.io/webcrypto/#hmac-description", "title": "Description", - "number": "29.1" + "number": "31.1" }, "definedIn": "prose" }, @@ -3521,7 +3521,7 @@ "id": "hmac-description", "href": "https://w3c.github.io/webcrypto/#hmac-description", "title": "Description", - "number": "29.1" + "number": "31.1" }, "definedIn": "prose" }, @@ -3540,7 +3540,7 @@ "id": "hmac-importparams", "href": "https://w3c.github.io/webcrypto/#hmac-importparams", "title": "HmacImportParams dictionary", - "number": "29.3" + "number": "31.3" }, "definedIn": "heading" }, @@ -3561,7 +3561,7 @@ "id": "hmac-importparams", "href": "https://w3c.github.io/webcrypto/#hmac-importparams", "title": "HmacImportParams dictionary", - "number": "29.3" + "number": "31.3" }, "definedIn": "prose" }, @@ -3582,7 +3582,7 @@ "id": "hmac-importparams", "href": "https://w3c.github.io/webcrypto/#hmac-importparams", "title": "HmacImportParams dictionary", - "number": "29.3" + "number": "31.3" }, "definedIn": "prose" }, @@ -3601,7 +3601,7 @@ "id": "HmacKeyAlgorithm-dictionary", "href": "https://w3c.github.io/webcrypto/#HmacKeyAlgorithm-dictionary", "title": "HmacKeyAlgorithm dictionary", - "number": "29.4" + "number": "31.4" }, "definedIn": "heading" }, @@ -3622,7 +3622,7 @@ "id": "HmacKeyAlgorithm-dictionary", "href": "https://w3c.github.io/webcrypto/#HmacKeyAlgorithm-dictionary", "title": "HmacKeyAlgorithm dictionary", - "number": "29.4" + "number": "31.4" }, "definedIn": "prose" }, @@ -3643,7 +3643,7 @@ "id": "HmacKeyAlgorithm-dictionary", "href": "https://w3c.github.io/webcrypto/#HmacKeyAlgorithm-dictionary", "title": "HmacKeyAlgorithm dictionary", - "number": "29.4" + "number": "31.4" }, "definedIn": "prose" }, @@ -3662,7 +3662,7 @@ "id": "hmac-keygen-params", "href": "https://w3c.github.io/webcrypto/#hmac-keygen-params", "title": "HmacKeyGenParams dictionary", - "number": "29.5" + "number": "31.5" }, "definedIn": "heading" }, @@ -3683,7 +3683,7 @@ "id": "hmac-keygen-params", "href": "https://w3c.github.io/webcrypto/#hmac-keygen-params", "title": "HmacKeyGenParams dictionary", - "number": "29.5" + "number": "31.5" }, "definedIn": "prose" }, @@ -3704,7 +3704,7 @@ "id": "hmac-keygen-params", "href": "https://w3c.github.io/webcrypto/#hmac-keygen-params", "title": "HmacKeyGenParams dictionary", - "number": "29.5" + "number": "31.5" }, "definedIn": "prose" }, @@ -3723,7 +3723,7 @@ "id": "hkdf-params", "href": "https://w3c.github.io/webcrypto/#hkdf-params", "title": "HkdfParams dictionary", - "number": "31.3" + "number": "33.3" }, "definedIn": "heading" }, @@ -3744,7 +3744,7 @@ "id": "hkdf-params", "href": "https://w3c.github.io/webcrypto/#hkdf-params", "title": "HkdfParams dictionary", - "number": "31.3" + "number": "33.3" }, "definedIn": "prose" }, @@ -3765,7 +3765,7 @@ "id": "hkdf-params", "href": "https://w3c.github.io/webcrypto/#hkdf-params", "title": "HkdfParams dictionary", - "number": "31.3" + "number": "33.3" }, "definedIn": "prose" }, @@ -3786,7 +3786,7 @@ "id": "hkdf-params", "href": "https://w3c.github.io/webcrypto/#hkdf-params", "title": "HkdfParams dictionary", - "number": "31.3" + "number": "33.3" }, "definedIn": "prose" }, @@ -3805,7 +3805,7 @@ "id": "pbkdf2-params", "href": "https://w3c.github.io/webcrypto/#pbkdf2-params", "title": "Pbkdf2Params dictionary", - "number": "32.3" + "number": "34.3" }, "definedIn": "heading" }, @@ -3826,7 +3826,7 @@ "id": "pbkdf2-params", "href": "https://w3c.github.io/webcrypto/#pbkdf2-params", "title": "Pbkdf2Params dictionary", - "number": "32.3" + "number": "34.3" }, "definedIn": "prose" }, @@ -3847,7 +3847,7 @@ "id": "pbkdf2-params", "href": "https://w3c.github.io/webcrypto/#pbkdf2-params", "title": "Pbkdf2Params dictionary", - "number": "32.3" + "number": "34.3" }, "definedIn": "prose" }, @@ -3868,7 +3868,7 @@ "id": "pbkdf2-params", "href": "https://w3c.github.io/webcrypto/#pbkdf2-params", "title": "Pbkdf2Params dictionary", - "number": "32.3" + "number": "34.3" }, "definedIn": "prose" } diff --git a/ed/dfns/webdriver2.json b/ed/dfns/webdriver2.json index bec3baf85e82..9b73f722765d 100644 --- a/ed/dfns/webdriver2.json +++ b/ed/dfns/webdriver2.json @@ -6435,6 +6435,25 @@ }, "definedIn": "prose" }, + { + "id": "dfn-wait-for-an-action-queue-token", + "href": "https://w3c.github.io/webdriver/#dfn-wait-for-an-action-queue-token", + "linkingText": [ + "wait for an action queue token" + ], + "localLinkingText": [], + "type": "dfn", + "for": [], + "access": "private", + "informative": false, + "heading": { + "id": "dispatching-actions", + "href": "https://w3c.github.io/webdriver/#dispatching-actions", + "title": "Dispatching actions", + "number": "15.6" + }, + "definedIn": "prose" + }, { "id": "dfn-dispatch-actions", "href": "https://w3c.github.io/webdriver/#dfn-dispatch-actions", diff --git a/ed/headings/WebCryptoAPI.json b/ed/headings/WebCryptoAPI.json index 27df7a7f1bd8..b3ff1d00dba5 100644 --- a/ed/headings/WebCryptoAPI.json +++ b/ed/headings/WebCryptoAPI.json @@ -764,353 +764,412 @@ "title": "Operations", "number": "24.4" }, + { + "id": "ed25519", + "href": "https://w3c.github.io/webcrypto/#ed25519", + "level": 2, + "title": "25. Ed25519" + }, + { + "id": "ed25519-description", + "href": "https://w3c.github.io/webcrypto/#ed25519-description", + "level": 3, + "title": "Description", + "number": "25.1" + }, + { + "id": "ed25519-registration", + "href": "https://w3c.github.io/webcrypto/#ed25519-registration", + "level": 3, + "title": "Registration", + "number": "25.2" + }, + { + "id": "ed25519-operations", + "href": "https://w3c.github.io/webcrypto/#ed25519-operations", + "level": 3, + "title": "Operations", + "number": "25.3" + }, + { + "id": "x25519", + "href": "https://w3c.github.io/webcrypto/#x25519", + "level": 2, + "title": "26. X25519" + }, + { + "id": "x25519-description", + "href": "https://w3c.github.io/webcrypto/#x25519-description", + "level": 3, + "title": "Description", + "number": "26.1" + }, + { + "id": "x25519-registration", + "href": "https://w3c.github.io/webcrypto/#x25519-registration", + "level": 3, + "title": "Registration", + "number": "26.2" + }, + { + "id": "x25519-operations", + "href": "https://w3c.github.io/webcrypto/#x25519-operations", + "level": 3, + "title": "Operations", + "number": "26.3" + }, { "id": "aes-ctr", "href": "https://w3c.github.io/webcrypto/#aes-ctr", "level": 2, - "title": "25. AES-CTR" + "title": "27. AES-CTR" }, { "id": "aes-ctr-description", "href": "https://w3c.github.io/webcrypto/#aes-ctr-description", "level": 3, "title": "Description", - "number": "25.1" + "number": "27.1" }, { "id": "aes-ctr-registration", "href": "https://w3c.github.io/webcrypto/#aes-ctr-registration", "level": 3, "title": "Registration", - "number": "25.2" + "number": "27.2" }, { "id": "aes-ctr-params", "href": "https://w3c.github.io/webcrypto/#aes-ctr-params", "level": 3, "title": "AesCtrParams dictionary", - "number": "25.3" + "number": "27.3" }, { "id": "AesKeyAlgorithm-dictionary", "href": "https://w3c.github.io/webcrypto/#AesKeyAlgorithm-dictionary", "level": 3, "title": "AesKeyAlgorithm dictionary", - "number": "25.4" + "number": "27.4" }, { "id": "aes-keygen-params", "href": "https://w3c.github.io/webcrypto/#aes-keygen-params", "level": 3, "title": "AesKeyGenParams dictionary", - "number": "25.5" + "number": "27.5" }, { "id": "aes-derivedkey-params", "href": "https://w3c.github.io/webcrypto/#aes-derivedkey-params", "level": 3, "title": "AesDerivedKeyParams dictionary", - "number": "25.6" + "number": "27.6" }, { "id": "aes-ctr-operations", "href": "https://w3c.github.io/webcrypto/#aes-ctr-operations", "level": 3, "title": "Operations", - "number": "25.7" + "number": "27.7" }, { "id": "aes-cbc", "href": "https://w3c.github.io/webcrypto/#aes-cbc", "level": 2, - "title": "26. AES-CBC" + "title": "28. AES-CBC" }, { "id": "aes-cbc-description", "href": "https://w3c.github.io/webcrypto/#aes-cbc-description", "level": 3, "title": "Description", - "number": "26.1" + "number": "28.1" }, { "id": "aes-cbc-registration", "href": "https://w3c.github.io/webcrypto/#aes-cbc-registration", "level": 3, "title": "Registration", - "number": "26.2" + "number": "28.2" }, { "id": "aes-cbc-params", "href": "https://w3c.github.io/webcrypto/#aes-cbc-params", "level": 3, "title": "AesCbcParams dictionary", - "number": "26.3" + "number": "28.3" }, { "id": "aes-cbc-operations", "href": "https://w3c.github.io/webcrypto/#aes-cbc-operations", "level": 3, "title": "Operations", - "number": "26.4" + "number": "28.4" }, { "id": "aes-gcm", "href": "https://w3c.github.io/webcrypto/#aes-gcm", "level": 2, - "title": "27. AES-GCM" + "title": "29. AES-GCM" }, { "id": "aes-gcm-description", "href": "https://w3c.github.io/webcrypto/#aes-gcm-description", "level": 3, "title": "Description", - "number": "27.1" + "number": "29.1" }, { "id": "aes-gcm-registration", "href": "https://w3c.github.io/webcrypto/#aes-gcm-registration", "level": 3, "title": "Registration", - "number": "27.2" + "number": "29.2" }, { "id": "aes-gcm-params", "href": "https://w3c.github.io/webcrypto/#aes-gcm-params", "level": 3, "title": "AesGcmParams dictionary", - "number": "27.3" + "number": "29.3" }, { "id": "aes-gcm-operations", "href": "https://w3c.github.io/webcrypto/#aes-gcm-operations", "level": 3, "title": "Operations", - "number": "27.4" + "number": "29.4" }, { "id": "aes-kw", "href": "https://w3c.github.io/webcrypto/#aes-kw", "level": 2, - "title": "28. AES-KW" + "title": "30. AES-KW" }, { "id": "aes-kw-description", "href": "https://w3c.github.io/webcrypto/#aes-kw-description", "level": 3, "title": "Description", - "number": "28.1" + "number": "30.1" }, { "id": "aes-kw-registration", "href": "https://w3c.github.io/webcrypto/#aes-kw-registration", "level": 3, "title": "Registration", - "number": "28.2" + "number": "30.2" }, { "id": "aes-kw-operations", "href": "https://w3c.github.io/webcrypto/#aes-kw-operations", "level": 3, "title": "Operations", - "number": "28.3" + "number": "30.3" }, { "id": "hmac", "href": "https://w3c.github.io/webcrypto/#hmac", "level": 2, - "title": "29. HMAC" + "title": "31. HMAC" }, { "id": "hmac-description", "href": "https://w3c.github.io/webcrypto/#hmac-description", "level": 3, "title": "Description", - "number": "29.1" + "number": "31.1" }, { "id": "hmac-registration", "href": "https://w3c.github.io/webcrypto/#hmac-registration", "level": 3, "title": "Registration", - "number": "29.2" + "number": "31.2" }, { "id": "hmac-importparams", "href": "https://w3c.github.io/webcrypto/#hmac-importparams", "level": 3, "title": "HmacImportParams dictionary", - "number": "29.3" + "number": "31.3" }, { "id": "HmacKeyAlgorithm-dictionary", "href": "https://w3c.github.io/webcrypto/#HmacKeyAlgorithm-dictionary", "level": 3, "title": "HmacKeyAlgorithm dictionary", - "number": "29.4" + "number": "31.4" }, { "id": "hmac-keygen-params", "href": "https://w3c.github.io/webcrypto/#hmac-keygen-params", "level": 3, "title": "HmacKeyGenParams dictionary", - "number": "29.5" + "number": "31.5" }, { "id": "hmac-operations", "href": "https://w3c.github.io/webcrypto/#hmac-operations", "level": 3, "title": "Operations", - "number": "29.6" + "number": "31.6" }, { "id": "sha", "href": "https://w3c.github.io/webcrypto/#sha", "level": 2, - "title": "30. SHA" + "title": "32. SHA" }, { "id": "sha-description", "href": "https://w3c.github.io/webcrypto/#sha-description", "level": 3, "title": "Description", - "number": "30.1" + "number": "32.1" }, { "id": "sha-registration", "href": "https://w3c.github.io/webcrypto/#sha-registration", "level": 3, "title": "Registration", - "number": "30.2" + "number": "32.2" }, { "id": "sha-operations", "href": "https://w3c.github.io/webcrypto/#sha-operations", "level": 3, "title": "Operations", - "number": "30.3" + "number": "32.3" }, { "id": "hkdf", "href": "https://w3c.github.io/webcrypto/#hkdf", "level": 2, - "title": "31. HKDF" + "title": "33. HKDF" }, { "id": "hkdf-description", "href": "https://w3c.github.io/webcrypto/#hkdf-description", "level": 3, "title": "Description", - "number": "31.1" + "number": "33.1" }, { "id": "hkdf-registration", "href": "https://w3c.github.io/webcrypto/#hkdf-registration", "level": 3, "title": "Registration", - "number": "31.2" + "number": "33.2" }, { "id": "hkdf-params", "href": "https://w3c.github.io/webcrypto/#hkdf-params", "level": 3, "title": "HkdfParams dictionary", - "number": "31.3" + "number": "33.3" }, { "id": "hkdf-operations", "href": "https://w3c.github.io/webcrypto/#hkdf-operations", "level": 3, "title": "Operations", - "number": "31.4" + "number": "33.4" }, { "id": "pbkdf2", "href": "https://w3c.github.io/webcrypto/#pbkdf2", "level": 2, - "title": "32. PBKDF2" + "title": "34. PBKDF2" }, { "id": "pbkdf2-description", "href": "https://w3c.github.io/webcrypto/#pbkdf2-description", "level": 3, "title": "Description", - "number": "32.1" + "number": "34.1" }, { "id": "pbkdf2-registration", "href": "https://w3c.github.io/webcrypto/#pbkdf2-registration", "level": 3, "title": "Registration", - "number": "32.2" + "number": "34.2" }, { "id": "pbkdf2-params", "href": "https://w3c.github.io/webcrypto/#pbkdf2-params", "level": 3, "title": "Pbkdf2Params dictionary", - "number": "32.3" + "number": "34.3" }, { "id": "pbkdf2-operations", "href": "https://w3c.github.io/webcrypto/#pbkdf2-operations", "level": 3, "title": "Operations", - "number": "32.4" + "number": "34.4" }, { "id": "examples-section", "href": "https://w3c.github.io/webcrypto/#examples-section", "level": 2, - "title": "33. JavaScript Example Code" + "title": "35. JavaScript Example Code" + }, + { + "id": "example-key-exchange", + "href": "https://w3c.github.io/webcrypto/#example-key-exchange", + "level": 3, + "title": "Generate two key pairs, derive a shared key, encrypt some data", + "number": "35.1" }, { "id": "examples-signing", "href": "https://w3c.github.io/webcrypto/#examples-signing", "level": 3, "title": "Generate a signing key pair, sign some data", - "number": "33.1" + "number": "35.2" }, { "id": "examples-symmetric-encryption", "href": "https://w3c.github.io/webcrypto/#examples-symmetric-encryption", "level": 3, - "title": "Symmetric Encryption", - "number": "33.2" + "title": "Generate a symmetric key, encrypt some data", + "number": "35.3" }, { "id": "examples-random-uuid", "href": "https://w3c.github.io/webcrypto/#examples-random-uuid", "level": 3, "title": "Generate unique name for download", - "number": "33.3" + "number": "35.4" }, { "id": "iana-section", "href": "https://w3c.github.io/webcrypto/#iana-section", - "level": 3, - "title": "IANA Considerations", - "number": "33.4" + "level": 2, + "title": "36. IANA Considerations" }, { "id": "iana-section-jws-jwa", "href": "https://w3c.github.io/webcrypto/#iana-section-jws-jwa", - "level": 4, + "level": 3, "title": "JSON Web Signature and Encryption Algorithms Registration", - "number": "33.4.1" + "number": "36.1" }, { "id": "iana-section-jwk", "href": "https://w3c.github.io/webcrypto/#iana-section-jwk", - "level": 4, + "level": 3, "title": "JSON Web Key Parameters Registration", - "number": "33.4.2" + "number": "36.2" }, { "id": "acknowledgements-section", "href": "https://w3c.github.io/webcrypto/#acknowledgements-section", - "level": 3, - "title": "Acknowledgments", - "number": "33.5" + "level": 2, + "title": "37. Acknowledgments" }, { "id": "jwk-mapping", diff --git a/ed/ids/WebCryptoAPI.json b/ed/ids/WebCryptoAPI.json index 8c1c8d2179a3..5b60c9e9984e 100644 --- a/ed/ids/WebCryptoAPI.json +++ b/ed/ids/WebCryptoAPI.json @@ -1726,24 +1726,231 @@ "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-45", "https://w3c.github.io/webcrypto/#ref-for-dfn-EcKeyAlgorithm-namedCurve-53", "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-92", - "https://w3c.github.io/webcrypto/#aes-ctr", - "https://w3c.github.io/webcrypto/#x25-aes-ctr", - "https://w3c.github.io/webcrypto/#aes-ctr-description", + "https://w3c.github.io/webcrypto/#ed25519", + "https://w3c.github.io/webcrypto/#x25-ed25519", + "https://w3c.github.io/webcrypto/#ed25519-description", "https://w3c.github.io/webcrypto/#x25-1-description", - "https://w3c.github.io/webcrypto/#aes-ctr-registration", + "https://w3c.github.io/webcrypto/#ed25519-registration", "https://w3c.github.io/webcrypto/#x25-2-registration", "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-7", "https://w3c.github.io/webcrypto/#ref-for-supported-operations-6", "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-6", "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-6", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-13", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-81", + "https://w3c.github.io/webcrypto/#ed25519-operations", + "https://w3c.github.io/webcrypto/#x25-3-operations", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-67", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-36", + "https://w3c.github.io/webcrypto/#issue-container-number-1", + "https://w3c.github.io/webcrypto/#h-issue", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-68", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-public-2", + "https://w3c.github.io/webcrypto/#issue-container-number-2", + "https://w3c.github.io/webcrypto/#h-issue-0", + "https://w3c.github.io/webcrypto/#issue-container-number-3", + "https://w3c.github.io/webcrypto/#h-issue-1", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-7", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-31", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-82", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-69", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-93", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-25", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-27", + "https://w3c.github.io/webcrypto/#ref-for-concept-usage-intersection-11", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-83", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-70", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-37", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-94", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-26", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-28", + "https://w3c.github.io/webcrypto/#ref-for-concept-usage-intersection-12", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-14", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-publicKey-7", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-privateKey-8", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-spki-16", + "https://w3c.github.io/webcrypto/#ref-for-concept-parse-a-spki-6", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-84", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-71", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-8", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-32", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-95", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-pkcs8-16", + "https://w3c.github.io/webcrypto/#ref-for-concept-parse-a-privateKeyInfo-6", + "https://w3c.github.io/webcrypto/#ref-for-concept-parse-an-asn1-structure-11", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-85", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-72", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-38", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-9", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-33", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-96", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-16", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-17", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-21", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-22", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-7", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-crv-11", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-6", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-6", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-7", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-23", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-86", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-73", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-39", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-87", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-74", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-public-3", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-10", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-34", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-97", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-13", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-11", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-35", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-88", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-75", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-98", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-89", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-33", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-spki-17", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-76", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-pkcs8-17", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-77", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-40", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-34", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-17", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-18", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-x-3", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-78", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-41", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-24", + "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-6", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-27", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-14", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-79", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-9", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-35", + "https://w3c.github.io/webcrypto/#x25519", + "https://w3c.github.io/webcrypto/#x26-x25519", + "https://w3c.github.io/webcrypto/#x25519-description", + "https://w3c.github.io/webcrypto/#x26-1-description", + "https://w3c.github.io/webcrypto/#x25519-registration", + "https://w3c.github.io/webcrypto/#x26-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-8", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-7", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-7", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-7", + "https://w3c.github.io/webcrypto/#ref-for-dfn-EcdhKeyDeriveParams-3", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-10", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-15", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-90", + "https://w3c.github.io/webcrypto/#x25519-operations", + "https://w3c.github.io/webcrypto/#x26-3-operations", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-80", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-42", + "https://w3c.github.io/webcrypto/#ref-for-dfn-EcdhKeyDeriveParams-public-3", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-81", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-36", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-99", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-37", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-100", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-36", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-containing-2", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-12", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-38", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-91", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-82", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-101", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-28", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-29", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-92", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-83", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-43", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-102", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-29", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-30", + "https://w3c.github.io/webcrypto/#ref-for-concept-usage-intersection-13", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-16", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-publicKey-8", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKeyPair-privateKey-9", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-spki-18", + "https://w3c.github.io/webcrypto/#ref-for-concept-parse-a-spki-7", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-93", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-84", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-13", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-39", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-103", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-pkcs8-18", + "https://w3c.github.io/webcrypto/#ref-for-concept-parse-a-privateKeyInfo-7", + "https://w3c.github.io/webcrypto/#ref-for-concept-parse-an-asn1-structure-12", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-94", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-85", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-44", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-14", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-40", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-104", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-18", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-19", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-25", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-26", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-8", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-crv-12", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-7", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-7", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-8", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-27", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-95", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-86", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-45", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-96", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-87", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-public-4", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-15", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-41", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-105", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-15", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-16", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-42", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-97", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-88", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-106", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-98", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-37", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-spki-19", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-89", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-pkcs8-19", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-90", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-46", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-38", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-19", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-20", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-x-4", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-91", + "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-private-47", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-d-28", + "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-7", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-30", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-16", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-92", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-11", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-39", + "https://w3c.github.io/webcrypto/#aes-ctr", + "https://w3c.github.io/webcrypto/#x27-aes-ctr", + "https://w3c.github.io/webcrypto/#aes-ctr-description", + "https://w3c.github.io/webcrypto/#x27-1-description", + "https://w3c.github.io/webcrypto/#aes-ctr-registration", + "https://w3c.github.io/webcrypto/#x27-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-9", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-8", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-8", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-8", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCtrParams-1", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCtrParams-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-1", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-81", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-82", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-99", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-100", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-1", "https://w3c.github.io/webcrypto/#aes-ctr-params", - "https://w3c.github.io/webcrypto/#x25-3-aesctrparams-dictionary", + "https://w3c.github.io/webcrypto/#x27-3-aesctrparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-AesCtrParams", "https://w3c.github.io/webcrypto/#webidl-1566726741", "https://w3c.github.io/webcrypto/#idl-def-aesctrparams", @@ -1757,17 +1964,17 @@ "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCtrParams-counter-2", "https://w3c.github.io/webcrypto/#dfn-AesCtrParams-length", "https://w3c.github.io/webcrypto/#AesKeyAlgorithm-dictionary", - "https://w3c.github.io/webcrypto/#x25-4-aeskeyalgorithm-dictionary", + "https://w3c.github.io/webcrypto/#x27-4-aeskeyalgorithm-dictionary", "https://w3c.github.io/webcrypto/#dfn-AesKeyAlgorithm", "https://w3c.github.io/webcrypto/#webidl-1138295941", "https://w3c.github.io/webcrypto/#idl-def-aeskeyalgorithm", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-1", - "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-7", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-17", "https://w3c.github.io/webcrypto/#idl-def-aeskeyalgorithm-length", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-1", "https://w3c.github.io/webcrypto/#dfn-AesKeyAlgorithm-length", "https://w3c.github.io/webcrypto/#aes-keygen-params", - "https://w3c.github.io/webcrypto/#x25-5-aeskeygenparams-dictionary", + "https://w3c.github.io/webcrypto/#x27-5-aeskeygenparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-AesKeyGenParams", "https://w3c.github.io/webcrypto/#webidl-1306510144", "https://w3c.github.io/webcrypto/#idl-def-aeskeygenparams", @@ -1777,7 +1984,7 @@ "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-1", "https://w3c.github.io/webcrypto/#dfn-AesKeyGenParams-length", "https://w3c.github.io/webcrypto/#aes-derivedkey-params", - "https://w3c.github.io/webcrypto/#x25-6-aesderivedkeyparams-dictionary", + "https://w3c.github.io/webcrypto/#x27-6-aesderivedkeyparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-AesDerivedKeyParams", "https://w3c.github.io/webcrypto/#webidl-379647633", "https://w3c.github.io/webcrypto/#idl-def-aesderivedkeyparams", @@ -1787,7 +1994,7 @@ "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-1", "https://w3c.github.io/webcrypto/#dfn-AesDerivedKeyParams-length", "https://w3c.github.io/webcrypto/#aes-ctr-operations", - "https://w3c.github.io/webcrypto/#x25-7-operations", + "https://w3c.github.io/webcrypto/#x27-7-operations", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCtrParams-counter-3", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCtrParams-length-2", "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-11", @@ -1802,68 +2009,68 @@ "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-14", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-3", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-83", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-101", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-2", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-31", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-43", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-4", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-67", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-93", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-6", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-93", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-25", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-27", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-13", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-9", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-16", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-17", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-7", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-10", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-107", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-31", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-31", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-17", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-12", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-20", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-21", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-9", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-13", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-1", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-15", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-16", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-17", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-6", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-6", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-7", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-84", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-68", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-8", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-8", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-9", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-102", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-94", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-7", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-3", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-32", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-44", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-3", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-94", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-33", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-14", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-34", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-17", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-18", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-108", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-40", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-18", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-41", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-21", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-22", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-2", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-35", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-42", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-4", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-5", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-6", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-28", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-26", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-32", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-32", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-3", "https://w3c.github.io/webcrypto/#aes-cbc", - "https://w3c.github.io/webcrypto/#x26-aes-cbc", + "https://w3c.github.io/webcrypto/#x28-aes-cbc", "https://w3c.github.io/webcrypto/#aes-cbc-description", - "https://w3c.github.io/webcrypto/#x26-1-description", + "https://w3c.github.io/webcrypto/#x28-1-description", "https://w3c.github.io/webcrypto/#aes-cbc-registration", - "https://w3c.github.io/webcrypto/#x26-2-registration", - "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-8", - "https://w3c.github.io/webcrypto/#ref-for-supported-operations-7", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-7", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-7", + "https://w3c.github.io/webcrypto/#x28-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-10", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-9", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-9", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-9", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCbcParams-1", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCbcParams-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-3", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-85", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-86", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-103", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-104", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-3", "https://w3c.github.io/webcrypto/#aes-cbc-params", - "https://w3c.github.io/webcrypto/#x26-3-aescbcparams-dictionary", + "https://w3c.github.io/webcrypto/#x28-3-aescbcparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-AesCbcParams", "https://w3c.github.io/webcrypto/#webidl-15109397", "https://w3c.github.io/webcrypto/#idl-def-aescbcparams", @@ -1873,7 +2080,7 @@ "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCbcParams-iv-1", "https://w3c.github.io/webcrypto/#dfn-AesCbcParams-iv", "https://w3c.github.io/webcrypto/#aes-cbc-operations", - "https://w3c.github.io/webcrypto/#x26-4-operations", + "https://w3c.github.io/webcrypto/#x28-4-operations", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesCbcParams-iv-2", "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-15", "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-16", @@ -1884,68 +2091,68 @@ "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-18", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-5", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-6", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-87", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-105", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-4", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-33", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-45", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-7", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-7", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-69", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-95", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-8", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-95", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-27", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-29", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-15", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-11", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-18", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-19", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-8", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-12", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-109", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-33", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-33", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-19", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-14", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-22", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-23", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-10", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-15", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-3", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-18", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-19", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-20", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-7", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-7", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-8", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-88", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-70", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-9", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-9", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-10", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-106", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-96", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-9", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-5", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-34", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-46", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-8", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-96", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-36", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-16", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-37", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-19", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-20", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-110", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-43", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-20", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-44", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-23", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-24", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-4", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-38", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-45", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-9", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-10", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-11", - "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-6", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-28", + "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-8", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-34", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-4", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-5", "https://w3c.github.io/webcrypto/#aes-gcm", - "https://w3c.github.io/webcrypto/#x27-aes-gcm", + "https://w3c.github.io/webcrypto/#x29-aes-gcm", "https://w3c.github.io/webcrypto/#aes-gcm-description", - "https://w3c.github.io/webcrypto/#x27-1-description", + "https://w3c.github.io/webcrypto/#x29-1-description", "https://w3c.github.io/webcrypto/#aes-gcm-registration", - "https://w3c.github.io/webcrypto/#x27-2-registration", - "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-9", - "https://w3c.github.io/webcrypto/#ref-for-supported-operations-8", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-8", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-8", + "https://w3c.github.io/webcrypto/#x29-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-11", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-10", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-10", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-10", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesGcmParams-1", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesGcmParams-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-4", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-89", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-90", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-107", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-108", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-4", "https://w3c.github.io/webcrypto/#aes-gcm-params", - "https://w3c.github.io/webcrypto/#x27-3-aesgcmparams-dictionary", + "https://w3c.github.io/webcrypto/#x29-3-aesgcmparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-AesGcmParams", "https://w3c.github.io/webcrypto/#webidl-469526380", "https://w3c.github.io/webcrypto/#idl-def-aesgcmparams", @@ -1961,7 +2168,7 @@ "https://w3c.github.io/webcrypto/#dfn-AesGcmParams-additionalData", "https://w3c.github.io/webcrypto/#dfn-AesGcmParams-tagLength", "https://w3c.github.io/webcrypto/#aes-gcm-operations", - "https://w3c.github.io/webcrypto/#x27-4-operations", + "https://w3c.github.io/webcrypto/#x29-4-operations", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesGcmParams-iv-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesGcmParams-additionalData-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesGcmParams-tagLength-2", @@ -1987,132 +2194,132 @@ "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-27", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-8", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-9", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-91", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-109", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-6", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-35", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-47", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-12", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-10", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-71", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-97", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-10", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-97", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-29", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-30", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-17", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-13", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-20", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-21", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-9", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-14", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-111", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-35", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-34", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-21", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-16", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-24", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-25", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-11", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-17", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-5", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-21", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-22", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-23", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-8", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-8", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-9", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-92", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-72", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-10", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-10", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-11", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-110", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-98", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-11", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-7", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-36", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-48", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-13", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-98", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-39", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-18", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-40", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-21", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-22", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-112", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-46", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-22", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-47", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-25", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-26", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-6", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-41", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-48", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-14", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-15", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-16", - "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-7", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-30", + "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-9", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-36", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-6", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-7", "https://w3c.github.io/webcrypto/#aes-kw", - "https://w3c.github.io/webcrypto/#x28-aes-kw", + "https://w3c.github.io/webcrypto/#x30-aes-kw", "https://w3c.github.io/webcrypto/#aes-kw-description", - "https://w3c.github.io/webcrypto/#x28-1-description", + "https://w3c.github.io/webcrypto/#x30-1-description", "https://w3c.github.io/webcrypto/#aes-kw-registration", - "https://w3c.github.io/webcrypto/#x28-2-registration", - "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-10", - "https://w3c.github.io/webcrypto/#ref-for-supported-operations-9", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-9", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-9", + "https://w3c.github.io/webcrypto/#x30-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-12", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-11", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-11", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-11", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-5", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-93", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-94", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-111", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-112", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-5", "https://w3c.github.io/webcrypto/#aes-kw-operations", - "https://w3c.github.io/webcrypto/#x28-3-operations", + "https://w3c.github.io/webcrypto/#x30-3-operations", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-11", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-12", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-95", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-113", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-8", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-37", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-49", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-17", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyGenParams-length-13", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-73", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-99", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-12", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-99", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-31", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-31", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-19", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-15", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-22", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-23", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-10", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-16", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-113", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-37", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-35", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-23", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-18", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-26", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-27", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-12", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-19", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-7", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-24", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-25", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-26", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-9", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-9", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-10", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-96", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-74", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-11", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-11", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-12", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-114", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-100", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-13", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-9", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-38", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-50", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-18", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-100", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-42", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-20", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-43", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-23", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-24", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-114", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-49", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-24", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-50", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-27", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-28", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-8", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-44", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-51", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-19", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-20", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesKeyAlgorithm-length-21", - "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-8", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-32", + "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-10", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-38", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-8", "https://w3c.github.io/webcrypto/#ref-for-dfn-AesDerivedKeyParams-length-9", "https://w3c.github.io/webcrypto/#hmac", - "https://w3c.github.io/webcrypto/#x29-hmac", + "https://w3c.github.io/webcrypto/#x31-hmac", "https://w3c.github.io/webcrypto/#hmac-description", - "https://w3c.github.io/webcrypto/#x29-1-description", + "https://w3c.github.io/webcrypto/#x31-1-description", "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-46", "https://w3c.github.io/webcrypto/#dfn-hmac-extended-import-steps", "https://w3c.github.io/webcrypto/#dfn-hmac-extended-export-steps", "https://w3c.github.io/webcrypto/#hmac-registration", - "https://w3c.github.io/webcrypto/#x29-2-registration", - "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-11", - "https://w3c.github.io/webcrypto/#ref-for-supported-operations-10", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-10", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-10", + "https://w3c.github.io/webcrypto/#x31-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-13", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-12", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-12", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-12", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyGenParams-1", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-97", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-115", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-1", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-98", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-116", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-2", "https://w3c.github.io/webcrypto/#hmac-importparams", - "https://w3c.github.io/webcrypto/#x29-3-hmacimportparams-dictionary", + "https://w3c.github.io/webcrypto/#x31-3-hmacimportparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-HmacImportParams", "https://w3c.github.io/webcrypto/#webidl-323396047", "https://w3c.github.io/webcrypto/#idl-def-hmacimportparams", @@ -2126,21 +2333,21 @@ "https://w3c.github.io/webcrypto/#dfn-HmacImportParams-hash", "https://w3c.github.io/webcrypto/#dfn-HmacImportParams-length", "https://w3c.github.io/webcrypto/#HmacKeyAlgorithm-dictionary", - "https://w3c.github.io/webcrypto/#x29-4-hmackeyalgorithm-dictionary", + "https://w3c.github.io/webcrypto/#x31-4-hmackeyalgorithm-dictionary", "https://w3c.github.io/webcrypto/#dfn-HmacKeyAlgorithm", "https://w3c.github.io/webcrypto/#webidl-604581071", "https://w3c.github.io/webcrypto/#idl-def-hmackeyalgorithm", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-1", - "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-8", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-18", "https://w3c.github.io/webcrypto/#idl-def-hmackeyalgorithm-hash", - "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-9", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-19", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-hash-1", "https://w3c.github.io/webcrypto/#idl-def-hmackeyalgorithm-length", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-length-1", "https://w3c.github.io/webcrypto/#dfn-HmacKeyAlgorithm-hash", "https://w3c.github.io/webcrypto/#dfn-HmacKeyAlgorithm-length", "https://w3c.github.io/webcrypto/#hmac-keygen-params", - "https://w3c.github.io/webcrypto/#x29-5-hmackeygenparams-dictionary", + "https://w3c.github.io/webcrypto/#x31-5-hmackeygenparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-HmacKeyGenParams", "https://w3c.github.io/webcrypto/#webidl-544098843", "https://w3c.github.io/webcrypto/#idl-def-hmackeygenparams", @@ -2154,125 +2361,125 @@ "https://w3c.github.io/webcrypto/#dfn-HmacKeyGenParams-hash", "https://w3c.github.io/webcrypto/#dfn-HmacKeyGenParams-length", "https://w3c.github.io/webcrypto/#hmac-operations", - "https://w3c.github.io/webcrypto/#x29-6-operations", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-45", + "https://w3c.github.io/webcrypto/#x31-6-operations", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-52", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-hash-2", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-101", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-46", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-115", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-53", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-hash-3", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-102", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-116", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyGenParams-length-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyGenParams-hash-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyGenParams-length-3", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyGenParams-length-4", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-99", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-117", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-2", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-39", - "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-10", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-40", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-51", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-20", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-52", "https://w3c.github.io/webcrypto/#ref-for-dom-algorithm-name-14", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyGenParams-hash-3", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-hash-4", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-75", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-101", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-14", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-103", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-33", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-32", - "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-11", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-21", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-17", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-117", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-39", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-usages-36", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-21", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-25", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-20", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-hash-2", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-24", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-25", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-11", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-18", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-28", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-29", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-kty-13", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-21", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-9", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-hash-3", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-41", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-53", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-27", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-42", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-54", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-28", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-43", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-55", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-29", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-44", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-56", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-alg-30", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-45", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-57", "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-47", "https://w3c.github.io/webcrypto/#ref-for-dfn-hmac-extended-import-steps-1", "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-48", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-10", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-10", - "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-11", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-use-12", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-key_ops-12", + "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-ext-13", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-length-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-length-3", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-length-4", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-length-5", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-100", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-76", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-118", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-102", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-15", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-3", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-46", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-58", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-length-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-hash-5", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-104", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-47", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-48", - "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-containing-2", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-22", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-25", - "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-26", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-118", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-54", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-55", + "https://w3c.github.io/webcrypto/#ref-for-dfn-octet-string-containing-3", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-26", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-29", + "https://w3c.github.io/webcrypto/#ref-for-dfn-JsonWebKey-30", "https://w3c.github.io/webcrypto/#ref-for-dom-jsonwebkey-k-10", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-105", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-119", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacKeyAlgorithm-hash-6", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-47", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-48", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-49", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-50", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-51", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-59", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-60", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-61", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-62", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-63", "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-49", "https://w3c.github.io/webcrypto/#ref-for-dfn-hmac-extended-export-steps-1", "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-50", - "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-9", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-34", + "https://w3c.github.io/webcrypto/#ref-for-dom-cryptokey-usages-11", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-extractable-40", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-length-6", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-hash-4", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-length-7", "https://w3c.github.io/webcrypto/#ref-for-dfn-HmacImportParams-length-8", "https://w3c.github.io/webcrypto/#sha", - "https://w3c.github.io/webcrypto/#x30-sha", + "https://w3c.github.io/webcrypto/#x32-sha", "https://w3c.github.io/webcrypto/#sha-description", - "https://w3c.github.io/webcrypto/#x30-1-description", + "https://w3c.github.io/webcrypto/#x32-1-description", "https://w3c.github.io/webcrypto/#sha-registration", - "https://w3c.github.io/webcrypto/#x30-2-registration", - "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-12", + "https://w3c.github.io/webcrypto/#x32-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-14", "https://w3c.github.io/webcrypto/#alg-sha-1", "https://w3c.github.io/webcrypto/#alg-sha-256", "https://w3c.github.io/webcrypto/#alg-sha-384", "https://w3c.github.io/webcrypto/#alg-sha-512", - "https://w3c.github.io/webcrypto/#ref-for-supported-operations-11", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-11", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-11", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-13", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-13", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-13", "https://w3c.github.io/webcrypto/#sha-operations", - "https://w3c.github.io/webcrypto/#x30-3-operations", + "https://w3c.github.io/webcrypto/#x32-3-operations", "https://w3c.github.io/webcrypto/#ref-for-dom-algorithm-name-15", "https://w3c.github.io/webcrypto/#ref-for-dom-algorithm-name-16", "https://w3c.github.io/webcrypto/#ref-for-dom-algorithm-name-17", "https://w3c.github.io/webcrypto/#ref-for-dom-algorithm-name-18", "https://w3c.github.io/webcrypto/#hkdf", - "https://w3c.github.io/webcrypto/#x31-hkdf", + "https://w3c.github.io/webcrypto/#x33-hkdf", "https://w3c.github.io/webcrypto/#hkdf-description", - "https://w3c.github.io/webcrypto/#x31-1-description", + "https://w3c.github.io/webcrypto/#x33-1-description", "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-51", "https://w3c.github.io/webcrypto/#hkdf-registration", - "https://w3c.github.io/webcrypto/#x31-2-registration", - "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-13", - "https://w3c.github.io/webcrypto/#ref-for-supported-operations-12", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-12", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-12", + "https://w3c.github.io/webcrypto/#x33-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-15", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-14", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-14", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-14", "https://w3c.github.io/webcrypto/#ref-for-dfn-HkdfParams-1", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-101", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-119", "https://w3c.github.io/webcrypto/#hkdf-params", - "https://w3c.github.io/webcrypto/#x31-3-hkdfparams-dictionary", + "https://w3c.github.io/webcrypto/#x33-3-hkdfparams-dictionary", "https://w3c.github.io/webcrypto/#dfn-HkdfParams", "https://w3c.github.io/webcrypto/#webidl-1209901303", "https://w3c.github.io/webcrypto/#idl-def-hkdfparams", @@ -2289,35 +2496,35 @@ "https://w3c.github.io/webcrypto/#dfn-HkdfParams-salt", "https://w3c.github.io/webcrypto/#dfn-HkdfParams-info", "https://w3c.github.io/webcrypto/#hkdf-operations", - "https://w3c.github.io/webcrypto/#x31-4-operations", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-49", + "https://w3c.github.io/webcrypto/#x33-4-operations", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-56", "https://w3c.github.io/webcrypto/#ref-for-dfn-HkdfParams-hash-2", "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-28", "https://w3c.github.io/webcrypto/#ref-for-dfn-HkdfParams-salt-2", "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-29", "https://w3c.github.io/webcrypto/#ref-for-dfn-HkdfParams-info-2", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-23", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-102", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-77", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-27", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-120", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-103", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-16", - "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-12", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-52", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-106", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-22", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-64", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-120", "https://w3c.github.io/webcrypto/#pbkdf2", - "https://w3c.github.io/webcrypto/#x32-pbkdf2", + "https://w3c.github.io/webcrypto/#x34-pbkdf2", "https://w3c.github.io/webcrypto/#pbkdf2-description", - "https://w3c.github.io/webcrypto/#x32-1-description", + "https://w3c.github.io/webcrypto/#x34-1-description", "https://w3c.github.io/webcrypto/#ref-for-dfn-applicable-specification-52", "https://w3c.github.io/webcrypto/#pbkdf2-registration", - "https://w3c.github.io/webcrypto/#x32-2-registration", - "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-14", - "https://w3c.github.io/webcrypto/#ref-for-supported-operations-13", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-13", - "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-13", + "https://w3c.github.io/webcrypto/#x34-2-registration", + "https://w3c.github.io/webcrypto/#ref-for-recognized-algorithm-name-16", + "https://w3c.github.io/webcrypto/#ref-for-supported-operations-15", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-specific-params-15", + "https://w3c.github.io/webcrypto/#ref-for-algorithm-result-15", "https://w3c.github.io/webcrypto/#ref-for-dfn-Pbkdf2Params-1", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-103", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-121", "https://w3c.github.io/webcrypto/#pbkdf2-params", - "https://w3c.github.io/webcrypto/#x32-3-pbkdf2params-dictionary", + "https://w3c.github.io/webcrypto/#x34-3-pbkdf2params-dictionary", "https://w3c.github.io/webcrypto/#dfn-Pbkdf2Params", "https://w3c.github.io/webcrypto/#webidl-1323938568", "https://w3c.github.io/webcrypto/#idl-def-pbkdf2params", @@ -2335,36 +2542,42 @@ "https://w3c.github.io/webcrypto/#dfn-Pbkdf2Params-iterations", "https://w3c.github.io/webcrypto/#dfn-Pbkdf2Params-hash", "https://w3c.github.io/webcrypto/#pbkdf2-operations", - "https://w3c.github.io/webcrypto/#x32-4-operations", + "https://w3c.github.io/webcrypto/#x34-4-operations", "https://w3c.github.io/webcrypto/#ref-for-dfn-Pbkdf2Params-iterations-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-Pbkdf2Params-hash-2", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-50", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-handle-57", "https://w3c.github.io/webcrypto/#ref-for-concept-contents-of-arraybuffer-30", "https://w3c.github.io/webcrypto/#ref-for-dfn-Pbkdf2Params-salt-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-Pbkdf2Params-iterations-3", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-24", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-104", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-78", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-raw-28", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-122", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-type-104", "https://w3c.github.io/webcrypto/#ref-for-dom-keytype-secret-17", - "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-13", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-53", - "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-107", + "https://w3c.github.io/webcrypto/#ref-for-dfn-KeyAlgorithm-23", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyalgorithm-name-65", + "https://w3c.github.io/webcrypto/#ref-for-dfn-CryptoKey-slot-algorithm-121", "https://w3c.github.io/webcrypto/#examples-section", - "https://w3c.github.io/webcrypto/#x33-javascript-example-code", + "https://w3c.github.io/webcrypto/#x35-javascript-example-code", + "https://w3c.github.io/webcrypto/#example-key-exchange", + "https://w3c.github.io/webcrypto/#x35-1-generate-two-key-pairs-derive-a-shared-key-encrypt-some-data", + "https://w3c.github.io/webcrypto/#example-x25519-key-agreement", "https://w3c.github.io/webcrypto/#examples-signing", - "https://w3c.github.io/webcrypto/#x33-1-generate-a-signing-key-pair-sign-some-data", + "https://w3c.github.io/webcrypto/#x35-2-generate-a-signing-key-pair-sign-some-data", + "https://w3c.github.io/webcrypto/#example-ed25519-signing", "https://w3c.github.io/webcrypto/#examples-symmetric-encryption", - "https://w3c.github.io/webcrypto/#x33-2-symmetric-encryption", + "https://w3c.github.io/webcrypto/#x35-3-generate-a-symmetric-key-encrypt-some-data", + "https://w3c.github.io/webcrypto/#example-aes-gcm-encryption", "https://w3c.github.io/webcrypto/#examples-random-uuid", - "https://w3c.github.io/webcrypto/#x33-3-generate-unique-name-for-download", + "https://w3c.github.io/webcrypto/#x35-4-generate-unique-name-for-download", + "https://w3c.github.io/webcrypto/#example-random-uuid-generation", "https://w3c.github.io/webcrypto/#iana-section", - "https://w3c.github.io/webcrypto/#x33-4-iana-considerations", + "https://w3c.github.io/webcrypto/#x36-iana-considerations", "https://w3c.github.io/webcrypto/#iana-section-jws-jwa", - "https://w3c.github.io/webcrypto/#x33-4-1-json-web-signature-and-encryption-algorithms-registration", + "https://w3c.github.io/webcrypto/#x36-1-json-web-signature-and-encryption-algorithms-registration", "https://w3c.github.io/webcrypto/#iana-section-jwk", - "https://w3c.github.io/webcrypto/#x33-4-2-json-web-key-parameters-registration", + "https://w3c.github.io/webcrypto/#x36-2-json-web-key-parameters-registration", "https://w3c.github.io/webcrypto/#acknowledgements-section", - "https://w3c.github.io/webcrypto/#x33-5-acknowledgments", + "https://w3c.github.io/webcrypto/#x37-acknowledgments", "https://w3c.github.io/webcrypto/#ref-for-dfn-Crypto-method-getRandomValues-2", "https://w3c.github.io/webcrypto/#ref-for-dfn-Crypto-3", "https://w3c.github.io/webcrypto/#jwk-mapping", @@ -2375,7 +2588,7 @@ "https://w3c.github.io/webcrypto/#b-mapping-between-algorithm-and-subjectpublickeyinfo", "https://w3c.github.io/webcrypto/#issue-container-generatedID-19", "https://w3c.github.io/webcrypto/#h-note-19", - "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-26", + "https://w3c.github.io/webcrypto/#ref-for-dom-keyformat-jwk-30", "https://w3c.github.io/webcrypto/#pkcs8-mapping", "https://w3c.github.io/webcrypto/#c-mapping-between-algorithm-and-pkcs-8-privatekeyinfo", "https://w3c.github.io/webcrypto/#references", @@ -2405,8 +2618,12 @@ "https://w3c.github.io/webcrypto/#bib-rfc5869", "https://w3c.github.io/webcrypto/#bib-rfc5915", "https://w3c.github.io/webcrypto/#bib-rfc6090", + "https://w3c.github.io/webcrypto/#bib-rfc7748", "https://w3c.github.io/webcrypto/#bib-rfc8018", + "https://w3c.github.io/webcrypto/#bib-rfc8032", + "https://w3c.github.io/webcrypto/#bib-rfc8037", "https://w3c.github.io/webcrypto/#bib-rfc8174", + "https://w3c.github.io/webcrypto/#bib-rfc8410", "https://w3c.github.io/webcrypto/#bib-sec1", "https://w3c.github.io/webcrypto/#bib-webidl", "https://w3c.github.io/webcrypto/#bib-x690", diff --git a/ed/ids/html.json b/ed/ids/html.json index b32a387d3c9e..31a125f9a2b4 100644 --- a/ed/ids/html.json +++ b/ed/ids/html.json @@ -1563,6 +1563,8 @@ "https://html.spec.whatwg.org/multipage/infrastructure.html#alphabetic-baseline", "https://html.spec.whatwg.org/multipage/infrastructure.html#ascent-metric", "https://html.spec.whatwg.org/multipage/infrastructure.html#descent-metric", + "https://html.spec.whatwg.org/multipage/infrastructure.html#em-over-baseline", + "https://html.spec.whatwg.org/multipage/infrastructure.html#em-under-baseline", "https://html.spec.whatwg.org/multipage/infrastructure.html#hanging-baseline", "https://html.spec.whatwg.org/multipage/infrastructure.html#ideographic-under-baseline", "https://html.spec.whatwg.org/multipage/infrastructure.html#fit-content-inline-size", @@ -28747,14 +28749,18 @@ "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-textalign-center", "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Adom-context-2d-textbaseline-3", "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-textbaseline-top", + "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Aem-over-baseline", "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-textbaseline-hanging", "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Ahanging-baseline", "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-textbaseline-middle", + "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Aem-over-baseline-2", + "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Aem-under-baseline", "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-textbaseline-alphabetic", "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Aalphabetic-baseline", "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-textbaseline-ideographic", "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Aideographic-under-baseline", "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-textbaseline-bottom", + "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Aem-under-baseline-2", "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Adom-context-2d-direction-3", "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-direction-ltr", "https://html.spec.whatwg.org/multipage/canvas.html#text-styles%3Atext-preparation-algorithm", @@ -29434,12 +29440,20 @@ "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3A'px'-10", "https://html.spec.whatwg.org/multipage/canvas.html#dom-textmetrics-emheightascent", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Adom-context-2d-textbaseline-7", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-over-baseline", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Ainline-box-4", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3A'px'-11", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-over-baseline-2", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-over-baseline-3", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-over-baseline-4", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-under-baseline", "https://html.spec.whatwg.org/multipage/canvas.html#dom-textmetrics-emheightdescent", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Adom-context-2d-textbaseline-8", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-under-baseline-2", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Ainline-box-5", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3A'px'-12", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-under-baseline-3", + "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Aem-under-baseline-4", "https://html.spec.whatwg.org/multipage/canvas.html#dom-textmetrics-hangingbaseline", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Adom-context-2d-textbaseline-9", "https://html.spec.whatwg.org/multipage/canvas.html#drawing-text-to-the-bitmap%3Ahanging-baseline", diff --git a/ed/ids/webdriver2.json b/ed/ids/webdriver2.json index b48939d347af..eddfc913e894 100644 --- a/ed/ids/webdriver2.json +++ b/ed/ids/webdriver2.json @@ -3967,11 +3967,13 @@ "https://w3c.github.io/webdriver/#x15-6-dispatching-actions", "https://w3c.github.io/webdriver/#ref-for-dfn-dispatch-actions-1", "https://w3c.github.io/webdriver/#ref-for-dfn-ticks-21", - "https://w3c.github.io/webdriver/#dfn-dispatch-actions", + "https://w3c.github.io/webdriver/#dfn-wait-for-an-action-queue-token", "https://w3c.github.io/webdriver/#ref-for-dfn-actions-queue-1", "https://w3c.github.io/webdriver/#ref-for-dfn-actions-queue-2", "https://w3c.github.io/webdriver/#issue-container-generatedID-50", "https://w3c.github.io/webdriver/#h-note-50", + "https://w3c.github.io/webdriver/#dfn-dispatch-actions", + "https://w3c.github.io/webdriver/#ref-for-dfn-wait-for-an-action-queue-token-1", "https://w3c.github.io/webdriver/#ref-for-dfn-dispatch-actions-inner-1", "https://w3c.github.io/webdriver/#ref-for-dfn-actions-queue-3", "https://w3c.github.io/webdriver/#dfn-dispatch-actions-inner", @@ -4156,11 +4158,11 @@ "https://w3c.github.io/webdriver/#ref-for-dfn-represents-a-web-element-9", "https://w3c.github.io/webdriver/#ref-for-dfn-get-element-origin-6", "https://w3c.github.io/webdriver/#ref-for-dfn-get-a-webelement-origin-5", + "https://w3c.github.io/webdriver/#ref-for-dfn-wait-for-an-action-queue-token-2", "https://w3c.github.io/webdriver/#ref-for-dfn-input-cancel-list-5", "https://w3c.github.io/webdriver/#ref-for-dfn-try-120", - "https://w3c.github.io/webdriver/#ref-for-dfn-dispatch-tick-actions-4", + "https://w3c.github.io/webdriver/#ref-for-dfn-dispatch-actions-4", "https://w3c.github.io/webdriver/#ref-for-dfn-current-browsing-context-86", - "https://w3c.github.io/webdriver/#ref-for-dfn-actions-options-7", "https://w3c.github.io/webdriver/#ref-for-dfn-reset-the-input-state-1", "https://w3c.github.io/webdriver/#ref-for-dfn-current-top-level-browsing-context-66", "https://w3c.github.io/webdriver/#ref-for-dfn-success-116", diff --git a/ed/index.json b/ed/index.json index 15a13659b1f9..f4e7f41cae21 100644 --- a/ed/index.json +++ b/ed/index.json @@ -1,7 +1,7 @@ { "type": "crawl", "title": "Reffy crawl", - "date": "2024-12-05T06:44:14.764Z", + "date": "2024-12-05T12:48:54.571Z", "options": { "fallback": "ed/index.json", "output": "report", @@ -1326,7 +1326,7 @@ ], "crawled": "https://httpwg.org/http-extensions/draft-ietf-httpbis-no-vary-search.html", "crawlCacheInfo": { - "lastModified": "Thu, 05 Dec 2024 01:00:55 GMT" + "lastModified": "Thu, 05 Dec 2024 01:00:56 GMT" }, "date": "5 December 2024", "algorithms": "algorithms/no-vary-search.json", @@ -2065,7 +2065,7 @@ ], "crawled": "https://drafts.csswg.org/css-forms-1/", "crawlCacheInfo": { - "lastModified": "Wed, 04 Dec 2024 20:06:03 GMT" + "lastModified": "Wed, 04 Dec 2024 20:06:04 GMT" }, "generator": "bikeshed", "date": "27 November 2024", @@ -3335,9 +3335,9 @@ ], "crawled": "https://html.spec.whatwg.org/multipage/", "crawlCacheInfo": { - "lastModified": "Wed, 04 Dec 2024 01:28:51 GMT" + "lastModified": "Thu, 05 Dec 2024 06:43:43 GMT" }, - "date": "4 December 2024", + "date": "5 December 2024", "algorithms": "algorithms/html.json", "links": "links/html.json", "refs": "refs/html.json", @@ -23369,7 +23369,7 @@ ], "crawled": "https://drafts.csswg.org/css-transforms-2/", "crawlCacheInfo": { - "lastModified": "Wed, 04 Dec 2024 20:06:03 GMT" + "lastModified": "Wed, 04 Dec 2024 20:06:04 GMT" }, "generator": "bikeshed", "date": "3 April 2024", @@ -23916,7 +23916,7 @@ ], "crawled": "https://drafts.csswg.org/css-values-5/", "crawlCacheInfo": { - "lastModified": "Wed, 04 Dec 2024 20:06:03 GMT" + "lastModified": "Wed, 04 Dec 2024 20:06:04 GMT" }, "generator": "bikeshed", "date": "21 November 2024", @@ -31959,7 +31959,7 @@ ], "crawled": "https://drafts.csswg.org/scroll-animations-1/", "crawlCacheInfo": { - "lastModified": "Wed, 04 Dec 2024 20:06:03 GMT" + "lastModified": "Wed, 04 Dec 2024 20:06:04 GMT" }, "generator": "bikeshed", "date": "31 January 2024", @@ -36000,11 +36000,11 @@ ], "crawled": "https://w3c.github.io/webcrypto/", "crawlCacheInfo": { - "lastModified": "Fri, 15 Nov 2024 12:53:09 GMT" + "lastModified": "Thu, 05 Dec 2024 10:39:10 GMT" }, "generator": "respec", - "date": "15 November 2024", - "revision": "b21575f5bdbbd4989d06bbbb34da9318c377fa5c", + "date": "05 December 2024", + "revision": "fe7d5871b297ccfb95e721c9721c8f0a2fcb20aa", "algorithms": "algorithms/WebCryptoAPI.json", "links": "links/WebCryptoAPI.json", "refs": "refs/WebCryptoAPI.json", @@ -36122,11 +36122,11 @@ ], "crawled": "https://w3c.github.io/webdriver/", "crawlCacheInfo": { - "lastModified": "Thu, 28 Nov 2024 12:53:23 GMT" + "lastModified": "Thu, 05 Dec 2024 12:24:30 GMT" }, "generator": "respec", - "date": "28 November 2024", - "revision": "0ac18fa957652f5efd2dc010d8a285cc08e89891", + "date": "05 December 2024", + "revision": "7d8beb949159e0f7d86a34410aedd3a1af3d4b0c", "algorithms": "algorithms/webdriver2.json", "links": "links/webdriver2.json", "refs": "refs/webdriver2.json", diff --git a/ed/links/WebCryptoAPI.json b/ed/links/WebCryptoAPI.json index c312b301daf6..829f27f10bb7 100644 --- a/ed/links/WebCryptoAPI.json +++ b/ed/links/WebCryptoAPI.json @@ -10,15 +10,13 @@ "http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf": {}, "http://www.northropgrumman.com/Capabilities/CybersecurityResearchConsortium/": {}, "http://www.secg.org/sec1-v2.pdf": {}, + "https://datatracker.ietf.org/doc/draft-irtf-cfrg-det-sigs-with-noise/": {}, "https://datatracker.ietf.org/doc/html/bcp14": {}, "https://dom.spec.whatwg.org/": {}, "https://encoding.spec.whatwg.org/": {}, + "https://github.com/WICG/webcrypto-secure-curves/issues/27": {}, + "https://github.com/WICG/webcrypto-secure-curves/issues/28": {}, "https://html.spec.whatwg.org/multipage/": {}, - "https://html.spec.whatwg.org/multipage/structured-data.html": { - "anchors": [ - "serializable" - ] - }, "https://infra.spec.whatwg.org/": {}, "https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf": {}, "https://tc39.es/ecma262/multipage/": {}, @@ -29,16 +27,7 @@ "global-identifier" ] }, - "https://webidl.spec.whatwg.org/": { - "anchors": [ - "SameObject", - "Exposed", - "SecureContext", - "idl-promise", - "idl-sequence", - "EnforceRange" - ] - }, + "https://webidl.spec.whatwg.org/": {}, "https://wiki.whatwg.org/wiki/Crypto": {}, "https://www.rfc-editor.org/rfc/rfc2119": {}, "https://www.rfc-editor.org/rfc/rfc2141": { @@ -65,8 +54,12 @@ "https://www.rfc-editor.org/rfc/rfc6090": {}, "https://www.rfc-editor.org/rfc/rfc7517": {}, "https://www.rfc-editor.org/rfc/rfc7518": {}, + "https://www.rfc-editor.org/rfc/rfc7748": {}, "https://www.rfc-editor.org/rfc/rfc8018": {}, + "https://www.rfc-editor.org/rfc/rfc8032": {}, + "https://www.rfc-editor.org/rfc/rfc8037": {}, "https://www.rfc-editor.org/rfc/rfc8174": {}, + "https://www.rfc-editor.org/rfc/rfc8410": {}, "https://www.w3.org/TR/": {}, "https://www.w3.org/TR/IndexedDB/": {}, "https://www.w3.org/groups/wg/webappsec": {}, @@ -92,6 +85,7 @@ }, "https://html.spec.whatwg.org/multipage/structured-data.html": { "anchors": [ + "serializable", "serialization-steps", "sub-serialization", "deserialization-steps", @@ -101,7 +95,8 @@ "https://html.spec.whatwg.org/multipage/webappapis.html": { "anchors": [ "windoworworkerglobalscope", - "concept-relevant-realm" + "concept-relevant-realm", + "concept-relevant-global" ] }, "https://infra.spec.whatwg.org/": { @@ -122,6 +117,9 @@ "dfn-throw", "dataerror", "dfn-get-buffer-source-copy", + "SameObject", + "Exposed", + "SecureContext", "idl-Int8Array", "idl-Uint8Array", "idl-Uint8ClampedArray", @@ -136,6 +134,7 @@ "idl-object", "idl-boolean", "idl-any", + "idl-sequence", "idl-unsigned-long", "this", "invalidaccesserror", @@ -144,6 +143,7 @@ "exceptiondef-typeerror", "notsupportederror", "operationerror", + "EnforceRange", "idl-octet", "idl-unsigned-short" ] diff --git a/ed/links/html.json b/ed/links/html.json index 87374ad697d9..40830bf6b465 100644 --- a/ed/links/html.json +++ b/ed/links/html.json @@ -1624,6 +1624,8 @@ "alphabetic-baseline", "ascent-metric", "descent-metric", + "em-over-baseline", + "em-under-baseline", "hanging-baseline", "ideographic-under-baseline" ] diff --git a/ed/refs/WebCryptoAPI.json b/ed/refs/WebCryptoAPI.json index cf44d206bce9..5c67c5c2e8e6 100644 --- a/ed/refs/WebCryptoAPI.json +++ b/ed/refs/WebCryptoAPI.json @@ -97,14 +97,30 @@ "name": "RFC6090", "url": "https://www.rfc-editor.org/rfc/rfc6090" }, + { + "name": "RFC7748", + "url": "https://www.rfc-editor.org/rfc/rfc7748" + }, { "name": "RFC8018", "url": "https://www.rfc-editor.org/rfc/rfc8018" }, + { + "name": "RFC8032", + "url": "https://www.rfc-editor.org/rfc/rfc8032" + }, + { + "name": "RFC8037", + "url": "https://www.rfc-editor.org/rfc/rfc8037" + }, { "name": "RFC8174", "url": "https://www.rfc-editor.org/rfc/rfc8174" }, + { + "name": "RFC8410", + "url": "https://www.rfc-editor.org/rfc/rfc8410" + }, { "name": "SEC1", "url": "http://www.secg.org/sec1-v2.pdf"