diff --git a/index.html b/index.html index 4c59d6f..26b37d9 100644 --- a/index.html +++ b/index.html @@ -123,7 +123,7 @@ - + @@ -1464,56 +1464,81 @@

Web Cryptography API

The SubtleCrypto interface provides a set of methods for dealing with low-level cryptographic primitives and algorithms.

-
WebIDLenum KeyFormat { "raw", "spki", "pkcs8", "jwk" };
+        
WebIDLenum KeyFormat { "raw", "spki", "pkcs8", "jwk" };
 
 [SecureContext,Exposed=(Window,Worker)]
 interface SubtleCrypto {
-  Promise<any> encrypt(AlgorithmIdentifier algorithm,
-                       CryptoKey key,
-                       BufferSource data);
-  Promise<any> decrypt(AlgorithmIdentifier algorithm,
-                       CryptoKey key,
-                       BufferSource data);
-  Promise<any> sign(AlgorithmIdentifier algorithm,
-                    CryptoKey key,
-                    BufferSource data);
-  Promise<any> verify(AlgorithmIdentifier algorithm,
-                      CryptoKey key,
-                      BufferSource signature,
-                      BufferSource data);
-  Promise<any> digest(AlgorithmIdentifier algorithm,
-                      BufferSource data);
+  Promise<ArrayBuffer> encrypt(
+    AlgorithmIdentifier algorithm,
+    CryptoKey key,
+    BufferSource data
+  );
+  Promise<ArrayBuffer> decrypt(
+    AlgorithmIdentifier algorithm,
+    CryptoKey key,
+    BufferSource data
+  );
+  Promise<ArrayBuffer> sign(
+    AlgorithmIdentifier algorithm,
+    CryptoKey key,
+    BufferSource data
+  );
+  Promise<boolean> verify(
+    AlgorithmIdentifier algorithm,
+    CryptoKey key,
+    BufferSource signature,
+    BufferSource data
+  );
+  Promise<ArrayBuffer> digest(
+    AlgorithmIdentifier algorithm,
+    BufferSource data
+  );
 
-  Promise<any> generateKey(AlgorithmIdentifier algorithm,
-                          boolean extractable,
-                          sequence<KeyUsage> keyUsages );
-  Promise<any> deriveKey(AlgorithmIdentifier algorithm,
-                         CryptoKey baseKey,
-                         AlgorithmIdentifier derivedKeyType,
-                         boolean extractable,
-                         sequence<KeyUsage> keyUsages );
-  Promise<ArrayBuffer> deriveBits(AlgorithmIdentifier algorithm,
-                          CryptoKey baseKey,
-                          optional unsigned long? length = null);
+  Promise<(CryptoKey or CryptoKeyPair)> generateKey(
+    AlgorithmIdentifier algorithm,
+    boolean extractable,
+    sequence<KeyUsage> keyUsages
+  );
+  Promise<CryptoKey> deriveKey(
+    AlgorithmIdentifier algorithm,
+    CryptoKey baseKey,
+    AlgorithmIdentifier derivedKeyType,
+    boolean extractable,
+    sequence<KeyUsage> keyUsages
+  );
+  Promise<ArrayBuffer> deriveBits(
+    AlgorithmIdentifier algorithm,
+    CryptoKey baseKey,
+    optional unsigned long? length = null
+  );
 
-  Promise<CryptoKey> importKey(KeyFormat format,
-                         (BufferSource or JsonWebKey) keyData,
-                         AlgorithmIdentifier algorithm,
-                         boolean extractable,
-                         sequence<KeyUsage> keyUsages );
-  Promise<any> exportKey(KeyFormat format, CryptoKey key);
+  Promise<CryptoKey> importKey(
+    KeyFormat format,
+    (BufferSource or JsonWebKey) keyData,
+    AlgorithmIdentifier algorithm,
+    boolean extractable,
+    sequence<KeyUsage> keyUsages
+  );
+  Promise<(ArrayBuffer or JsonWebKey)> exportKey(
+    KeyFormat format,
+    CryptoKey key
+  );
 
-  Promise<any> wrapKey(KeyFormat format,
-                       CryptoKey key,
-                       CryptoKey wrappingKey,
-                       AlgorithmIdentifier wrapAlgorithm);
-  Promise<CryptoKey> unwrapKey(KeyFormat format,
-                         BufferSource wrappedKey,
-                         CryptoKey unwrappingKey,
-                         AlgorithmIdentifier unwrapAlgorithm,
-                         AlgorithmIdentifier unwrappedKeyAlgorithm,
-                         boolean extractable,
-                         sequence<KeyUsage> keyUsages );
+  Promise<ArrayBuffer> wrapKey(
+    KeyFormat format,
+    CryptoKey key,
+    CryptoKey wrappingKey,
+    AlgorithmIdentifier wrapAlgorithm
+  );
+  Promise<CryptoKey> unwrapKey(
+    KeyFormat format,
+    BufferSource wrappedKey,
+    CryptoKey unwrappingKey,
+    AlgorithmIdentifier unwrapAlgorithm,
+    AlgorithmIdentifier unwrappedKeyAlgorithm,
+    boolean extractable,
+    sequence<KeyUsage> keyUsages
+  );
 };
Note

@@ -1554,7 +1579,7 @@

Web Cryptography API

spki
The DER encoding of the SubjectPublicKeyInfo structure from [RFC5280].
jwk
-
The key is a JsonWebKey dictionary encoded as a JavaScript object
+
The key is a JsonWebKey dictionary encoded as a JavaScript object
@@ -1597,7 +1622,7 @@

Web Cryptography API

method returns a new Promise object that will encrypt data using the specified AlgorithmIdentifier with - the supplied CryptoKey. It must act + the supplied CryptoKey. It must act as follows:

    @@ -1703,7 +1728,7 @@

    Web Cryptography API

    The decrypt method returns a new Promise object that will decrypt data using the specified AlgorithmIdentifier with - the supplied CryptoKey. It must act + the supplied CryptoKey. It must act as follows:

      @@ -1810,7 +1835,7 @@

      Web Cryptography API

      The sign method returns a new Promise object that will sign data using the specified AlgorithmIdentifier with the supplied - CryptoKey. It must act as follows: + CryptoKey. It must act as follows:

      1. @@ -1915,7 +1940,7 @@

        Web Cryptography API

        The verify method returns a new Promise object that will verify data using the specified AlgorithmIdentifier with the supplied - CryptoKey. It must act as follows: + CryptoKey. It must act as follows:

        1. @@ -2171,7 +2196,7 @@

          Web Cryptography API

        2. -
          If result is a CryptoKey object:
          +
          If result is a CryptoKey object:

          If the [[type]] internal slot of @@ -2179,7 +2204,7 @@

          Web Cryptography API

          usages is empty, then throw a SyntaxError.

          -
          If result is a CryptoKeyPair object:
          +
          If result is a CryptoKeyPair object:

          If the [[usages]] internal slot of the @@ -2497,7 +2522,7 @@

          Web Cryptography API

          If the keyData parameter passed to the importKey() method is a - JsonWebKey dictionary, throw a + JsonWebKey dictionary, throw a TypeError.

        3. @@ -2520,7 +2545,7 @@

          Web Cryptography API

          If the keyData parameter passed to the importKey() method is not a - JsonWebKey dictionary, throw a + JsonWebKey dictionary, throw a TypeError.

          @@ -2575,7 +2600,7 @@

          Web Cryptography API

        4. - Let result be the CryptoKey object that + Let result be the CryptoKey object that results from performing the import key operation specified by normalizedAlgorithm using keyData, algorithm, @@ -3203,7 +3228,7 @@

          Web Cryptography API

          DOMString t; }; -dictionary JsonWebKey { +dictionary JsonWebKey { // The following fields are defined in Section 3.1 of JSON Web Key DOMString kty; DOMString use; @@ -3257,9 +3282,9 @@

          Web Cryptography API

          17. CryptoKeyPair dictionary

          -
          WebIDLdictionary CryptoKeyPair {
          -  CryptoKey publicKey;
          -  CryptoKey privateKey;
          +        
          WebIDLdictionary CryptoKeyPair {
          +  CryptoKey publicKey;
          +  CryptoKey privateKey;
           };

          The CryptoKeyPair dictionary represents an @@ -4056,12 +4081,12 @@

          Web Cryptography API

          generateKey RsaHashedKeyGenParams - CryptoKeyPair + CryptoKeyPair importKey RsaHashedImportParams - CryptoKey + CryptoKey exportKey @@ -4253,7 +4278,7 @@

          Web Cryptography API

        5. - Let publicKey be a new CryptoKey + Let publicKey be a new CryptoKey representing the public key of the generated key pair.

        6. @@ -4283,7 +4308,7 @@

          Web Cryptography API

        7. - Let privateKey be a new CryptoKey + Let privateKey be a new CryptoKey representing the private key of the generated key pair.

        8. @@ -4313,7 +4338,7 @@

          Web Cryptography API

        9. - Let result be a new CryptoKeyPair + Let result be a new CryptoKeyPair dictionary.

        10. @@ -4400,7 +4425,7 @@

          Web Cryptography API

        11. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the RSA public key identified by publicKey.

          @@ -4468,7 +4493,7 @@

          Web Cryptography API

        12. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the RSA private key identified by rsaPrivateKey.

          @@ -4486,7 +4511,7 @@

          Web Cryptography API

          1. -
            If keyData is a JsonWebKey dictionary:
            +
            If keyData is a JsonWebKey dictionary:

            Let jwk equal keyData.

            Otherwise:

            Throw a DataError.

            @@ -4672,7 +4697,7 @@

            Web Cryptography API

          2. - Let key be a new CryptoKey object that represents + Let key be a new CryptoKey object that represents privateKey.

          3. @@ -4710,7 +4735,7 @@

            Web Cryptography API

          4. - Let key be a new CryptoKey representing publicKey. + Let key be a new CryptoKey representing publicKey.

          5. @@ -4918,7 +4943,7 @@

            Web Cryptography API

            1. -

              Let jwk be a new JsonWebKey +

              Let jwk be a new JsonWebKey dictionary.

            2. @@ -5111,12 +5136,12 @@

              Web Cryptography API

              generateKey RsaHashedKeyGenParams - CryptoKeyPair + CryptoKeyPair importKey RsaHashedImportParams - CryptoKey + CryptoKey exportKey @@ -5280,7 +5305,7 @@

              Web Cryptography API

            3. - Let publicKey be a new CryptoKey + Let publicKey be a new CryptoKey representing the public key of the generated key pair.

            4. @@ -5310,7 +5335,7 @@

              Web Cryptography API

            5. - Let privateKey be a new CryptoKey + Let privateKey be a new CryptoKey representing the private key of the generated key pair.

            6. @@ -5340,7 +5365,7 @@

              Web Cryptography API

            7. - Let result be a new CryptoKeyPair + Let result be a new CryptoKeyPair dictionary.

            8. @@ -5427,7 +5452,7 @@

              Web Cryptography API

            9. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the RSA public key identified by publicKey.

              @@ -5493,7 +5518,7 @@

              Web Cryptography API

            10. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the RSA private key identified by rsaPrivateKey.

              @@ -5511,7 +5536,7 @@

              Web Cryptography API

              1. -
                If keyData is a JsonWebKey dictionary:
                +
                If keyData is a JsonWebKey dictionary:

                Let jwk equal keyData.

                Otherwise:

                throw a DataError.

                @@ -5691,7 +5716,7 @@

                Web Cryptography API

              2. - Let key be a new CryptoKey representing privateKey. + Let key be a new CryptoKey representing privateKey.

              3. @@ -5728,7 +5753,7 @@

                Web Cryptography API

              4. - Let key be a new CryptoKey representing publicKey. + Let key be a new CryptoKey representing publicKey.

              5. @@ -5936,7 +5961,7 @@

                Web Cryptography API

                1. -

                  Let jwk be a new JsonWebKey dictionary.

                  +

                  Let jwk be a new JsonWebKey dictionary.

                2. Set the kty attribute of jwk to the string @@ -6122,12 +6147,12 @@

                  Web Cryptography API

                  generateKey RsaHashedKeyGenParams - CryptoKeyPair + CryptoKeyPair importKey RsaHashedImportParams - CryptoKey + CryptoKey exportKey @@ -6319,7 +6344,7 @@

                  Web Cryptography API

                3. - Let publicKey be a new CryptoKey + Let publicKey be a new CryptoKey representing the public key of the generated key pair.

                4. @@ -6351,7 +6376,7 @@

                  Web Cryptography API

                5. - Let privateKey be a new CryptoKey + Let privateKey be a new CryptoKey representing the private key of the generated key pair.

                6. @@ -6383,7 +6408,7 @@

                  Web Cryptography API

                7. - Let result be a new CryptoKeyPair + Let result be a new CryptoKeyPair dictionary.

                8. @@ -6471,7 +6496,7 @@

                  Web Cryptography API

                9. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the RSA public key identified by publicKey.

                  @@ -6537,7 +6562,7 @@

                  Web Cryptography API

                10. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the RSA private key identified by rsaPrivateKey.

                  @@ -6555,7 +6580,7 @@

                  Web Cryptography API

                  1. -
                    If keyData is a JsonWebKey dictionary:
                    +
                    If keyData is a JsonWebKey dictionary:

                    Let jwk equal keyData.

                    Otherwise:

                    Throw a DataError.

                    @@ -6715,7 +6740,7 @@

                    Web Cryptography API

                  2. - Let key be a new CryptoKey representing privateKey. + Let key be a new CryptoKey representing privateKey.

                  3. @@ -6752,7 +6777,7 @@

                    Web Cryptography API

                  4. - Let key be a new CryptoKey representing publicKey. + Let key be a new CryptoKey representing publicKey.

                  5. @@ -6961,7 +6986,7 @@

                    Web Cryptography API

                    1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                    2. @@ -7164,12 +7189,12 @@

                      Web Cryptography API

                      generateKey EcKeyGenParams - CryptoKeyPair + CryptoKeyPair importKey EcKeyImportParams - CryptoKey + CryptoKey exportKey @@ -7488,7 +7513,7 @@

                      Web Cryptography API

                    3. - Let publicKey be a new CryptoKey + Let publicKey be a new CryptoKey representing the public key of the generated key pair.

                    4. @@ -7518,7 +7543,7 @@

                      Web Cryptography API

                    5. - Let privateKey be a new CryptoKey + Let privateKey be a new CryptoKey representing the private key of the generated key pair.

                    6. @@ -7548,7 +7573,7 @@

                      Web Cryptography API

                    7. - Let result be a new CryptoKeyPair + Let result be a new CryptoKeyPair dictionary.

                    8. @@ -7706,7 +7731,7 @@

                      Web Cryptography API

                    9. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents publicKey.

                    10. @@ -7910,7 +7935,7 @@

                      Web Cryptography API

                    11. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the Elliptic Curve private key identified by performing the conversion steps defined in Section 3 of [RFC5915] using ecPrivateKey.

                      @@ -7990,7 +8015,7 @@

                      Web Cryptography API

                      1. -
                        If keyData is a JsonWebKey dictionary:
                        +
                        If keyData is a JsonWebKey dictionary:

                        Let jwk equal keyData.

                        Otherwise:

                        Throw a DataError.

                        @@ -8118,7 +8143,7 @@

                        Web Cryptography API

                      2. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the Elliptic Curve private key identified by interpreting jwk according to Section 6.2.2 of JSON Web Algorithms [JWA].

                        @@ -8142,7 +8167,7 @@

                        Web Cryptography API

                      3. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the Elliptic Curve public key identified by interpreting jwk according to Section 6.2.1 of JSON Web Algorithms [JWA].

                        @@ -8273,7 +8298,7 @@

                        Web Cryptography API

                      4. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents Q.

                      5. @@ -8357,7 +8382,7 @@

                        Web Cryptography API

                        1. - Let key be the CryptoKey to be + Let key be the CryptoKey to be exported.

                        2. @@ -8662,7 +8687,7 @@

                          Web Cryptography API

                          1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                          2. @@ -8889,7 +8914,7 @@

                            Web Cryptography API

                            generateKey EcKeyGenParams - CryptoKeyPair + CryptoKeyPair deriveBits @@ -8899,7 +8924,7 @@

                            Web Cryptography API

                            importKey EcKeyImportParams - CryptoKey + CryptoKey exportKey @@ -8912,7 +8937,7 @@

                            Web Cryptography API

                            24.3 EcdhKeyDeriveParams dictionary

                            WebIDLdictionary EcdhKeyDeriveParams : Algorithm {
                            -  required CryptoKey public;
                            +  required CryptoKey public;
                             };

                            The public member represents the peer's EC public key.

                            @@ -8995,7 +9020,7 @@

                            Web Cryptography API

                          3. - Let publicKey be a new CryptoKey + Let publicKey be a new CryptoKey representing the public key of the generated key pair.

                          4. @@ -9025,7 +9050,7 @@

                            Web Cryptography API

                          5. - Let privateKey be a new CryptoKey + Let privateKey be a new CryptoKey representing the private key of the generated key pair.

                          6. @@ -9057,7 +9082,7 @@

                            Web Cryptography API

                          7. - Let result be a new CryptoKeyPair + Let result be a new CryptoKeyPair dictionary.

                          8. @@ -9333,7 +9358,7 @@

                            Web Cryptography API

                          9. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents publicKey.

                          10. @@ -9540,7 +9565,7 @@

                            Web Cryptography API

                          11. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents the Elliptic Curve private key identified by performing the conversion steps defined in Section 3 of [RFC5915] using ecPrivateKey.

                            @@ -9620,7 +9645,7 @@

                            Web Cryptography API

                            1. -
                              If keyData is a JsonWebKey dictionary:
                              +
                              If keyData is a JsonWebKey dictionary:

                              Let jwk equal keyData.

                              Otherwise:

                              Throw a DataError.

                              @@ -9705,7 +9730,7 @@

                              Web Cryptography API

                            2. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the Elliptic Curve private key identified by interpreting jwk according to Section 6.2.2 of JSON Web Algorithms [JWA].

                              @@ -9729,7 +9754,7 @@

                              Web Cryptography API

                            3. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the Elliptic Curve public key identified by interpreting jwk according to Section 6.2.1 of JSON Web Algorithms [JWA].

                              @@ -9855,7 +9880,7 @@

                              Web Cryptography API

                            4. - Let key be a new CryptoKey + Let key be a new CryptoKey that represents Q.

                            5. @@ -9932,7 +9957,7 @@

                              Web Cryptography API

                              1. - Let key be the CryptoKey to be + Let key be the CryptoKey to be exported.

                              2. @@ -10226,7 +10251,7 @@

                                Web Cryptography API

                                1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                                2. @@ -10450,12 +10475,12 @@

                                  Web Cryptography API

                                  generateKey None - CryptoKeyPair + CryptoKeyPair importKey None - CryptoKey + CryptoKey exportKey @@ -10593,7 +10618,7 @@

                                  Web Cryptography API

                                3. - Let publicKey be a new CryptoKey + Let publicKey be a new CryptoKey representing the public key of the generated key pair.

                                4. @@ -10624,7 +10649,7 @@

                                  Web Cryptography API

                                5. - Let privateKey be a new CryptoKey + Let privateKey be a new CryptoKey representing the private key of the generated key pair.

                                6. @@ -10655,7 +10680,7 @@

                                  Web Cryptography API

                                7. - Let result be a new CryptoKeyPair + Let result be a new CryptoKeyPair dictionary.

                                8. @@ -10738,7 +10763,7 @@

                                  Web Cryptography API

                                9. - Let key be a new CryptoKey associated with the + Let key be a new CryptoKey associated with the relevant global object of this [HTML], and that represents publicKey. @@ -10831,7 +10856,7 @@

                                  Web Cryptography API

                                10. - Let key be a new CryptoKey associated with the + Let key be a new CryptoKey associated with the relevant global object of this [HTML], and that represents the Ed25519 private key identified by curvePrivateKey. @@ -10867,7 +10892,7 @@

                                  Web Cryptography API

                                  1. -
                                    If keyData is a JsonWebKey dictionary:
                                    +
                                    If keyData is a JsonWebKey dictionary:

                                    Let jwk equal keyData.

                                    Otherwise:

                                    Throw a DataError.

                                    @@ -10941,7 +10966,7 @@

                                    Web Cryptography API

                                  2. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the Ed25519 private key identified by interpreting jwk according to Section 2 of [RFC8037].

                                    @@ -10966,7 +10991,7 @@

                                    Web Cryptography API

                                  3. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the Ed25519 public key identified by interpreting jwk according to Section 2 of [RFC8037].

                                    @@ -11024,7 +11049,7 @@

                                    Web Cryptography API

                                  4. - Let key be a new CryptoKey associated with the + Let key be a new CryptoKey associated with the relevant global object of this [HTML], and representing the key data provided in keyData. @@ -11066,7 +11091,7 @@

                                    Web Cryptography API

                                    1. - Let key be the CryptoKey to be + Let key be the CryptoKey to be exported.

                                    2. @@ -11181,7 +11206,7 @@

                                      Web Cryptography API

                                      1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                                      2. @@ -11311,12 +11336,12 @@

                                        Web Cryptography API

                                        generateKey None - CryptoKeyPair + CryptoKeyPair importKey None - CryptoKey + CryptoKey exportKey @@ -11431,7 +11456,7 @@

                                        Web Cryptography API

                                      3. - Let publicKey be a new CryptoKey + Let publicKey be a new CryptoKey representing the public key of the generated key pair.

                                      4. @@ -11461,7 +11486,7 @@

                                        Web Cryptography API

                                      5. - Let privateKey be a new CryptoKey + Let privateKey be a new CryptoKey representing the private key of the generated key pair.

                                      6. @@ -11493,7 +11518,7 @@

                                        Web Cryptography API

                                      7. - Let result be a new CryptoKeyPair + Let result be a new CryptoKeyPair dictionary.

                                      8. @@ -11575,7 +11600,7 @@

                                        Web Cryptography API

                                      9. - Let key be a new CryptoKey associated with the + Let key be a new CryptoKey associated with the relevant global object of this [HTML], and that represents publicKey. @@ -11668,7 +11693,7 @@

                                        Web Cryptography API

                                      10. - Let key be a new CryptoKey associated with the + Let key be a new CryptoKey associated with the relevant global object of this [HTML], and that represents the X25519 private key identified by curvePrivateKey. @@ -11704,7 +11729,7 @@

                                        Web Cryptography API

                                        1. -
                                          If keyData is a JsonWebKey dictionary:
                                          +
                                          If keyData is a JsonWebKey dictionary:

                                          Let jwk equal keyData.

                                          Otherwise:

                                          Throw a DataError.

                                          @@ -11782,7 +11807,7 @@

                                          Web Cryptography API

                                        2. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the X25519 private key identified by interpreting jwk according to Section 2 of [RFC8037].

                                          @@ -11807,7 +11832,7 @@

                                          Web Cryptography API

                                        3. - Let key be a new CryptoKey object that represents the + Let key be a new CryptoKey object that represents the X25519 public key identified by interpreting jwk according to Section 2 of [RFC8037].

                                          @@ -11864,7 +11889,7 @@

                                          Web Cryptography API

                                        4. - Let key be a new CryptoKey associated with the + Let key be a new CryptoKey associated with the relevant global object of this [HTML], and representing the key data provided in keyData. @@ -11906,7 +11931,7 @@

                                          Web Cryptography API

                                          1. - Let key be the CryptoKey to be + Let key be the CryptoKey to be exported.

                                          2. @@ -12021,7 +12046,7 @@

                                            Web Cryptography API

                                            1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                                            2. @@ -12156,12 +12181,12 @@

                                              Web Cryptography API

                                              generateKey AesKeyGenParams - CryptoKey + CryptoKey importKey None - CryptoKey + CryptoKey exportKey @@ -12335,7 +12360,7 @@

                                              Web Cryptography API

                                            3. Let key be a new - CryptoKey object representing the + CryptoKey object representing the generated AES key.

                                            4. @@ -12426,7 +12451,7 @@

                                              Web Cryptography API

                                              1. -
                                                If keyData is a JsonWebKey dictionary:
                                                +
                                                If keyData is a JsonWebKey dictionary:

                                                Let jwk equal keyData.

                                                Otherwise:

                                                Throw a DataError.

                                                @@ -12514,7 +12539,7 @@

                                                Web Cryptography API

                                              2. - Let key be a new CryptoKey object representing an AES key with + Let key be a new CryptoKey object representing an AES key with value data.

                                              3. @@ -12587,7 +12612,7 @@

                                                Web Cryptography API

                                                1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                                                2. @@ -12724,12 +12749,12 @@

                                                  Web Cryptography API

                                                  generateKey AesKeyGenParams - CryptoKey + CryptoKey importKey None - CryptoKey + CryptoKey exportKey @@ -12875,7 +12900,7 @@

                                                  Web Cryptography API

                                                3. Let key be a new - CryptoKey object representing the + CryptoKey object representing the generated AES key.

                                                4. @@ -12966,7 +12991,7 @@

                                                  Web Cryptography API

                                                  1. -
                                                    If keyData is a JsonWebKey dictionary:
                                                    +
                                                    If keyData is a JsonWebKey dictionary:

                                                    Let jwk equal keyData.

                                                    Otherwise:

                                                    Throw a DataError.

                                                    @@ -13055,7 +13080,7 @@

                                                    Web Cryptography API

                                                  2. - Let key be a new CryptoKey + Let key be a new CryptoKey object representing an AES key with value data.

                                                  3. @@ -13127,7 +13152,7 @@

                                                    Web Cryptography API

                                                    1. -

                                                      Let jwk be a new JsonWebKey dictionary.

                                                      +

                                                      Let jwk be a new JsonWebKey dictionary.

                                                    2. @@ -13254,12 +13279,12 @@

                                                      Web Cryptography API

                                                      generateKey AesKeyGenParams - CryptoKey + CryptoKey importKey None - CryptoKey + CryptoKey exportKey @@ -13499,7 +13524,7 @@

                                                      Web Cryptography API

                                                    3. Let key be a new - CryptoKey object representing the + CryptoKey object representing the generated AES key.

                                                    4. @@ -13590,7 +13615,7 @@

                                                      Web Cryptography API

                                                      1. -
                                                        If keyData is a JsonWebKey dictionary:
                                                        +
                                                        If keyData is a JsonWebKey dictionary:

                                                        Let jwk equal keyData.

                                                        Otherwise:

                                                        Throw a DataError.

                                                        @@ -13679,7 +13704,7 @@

                                                        Web Cryptography API

                                                      2. - Let key be a new CryptoKey + Let key be a new CryptoKey object representing an AES key with value data.

                                                      3. @@ -13752,7 +13777,7 @@

                                                        Web Cryptography API

                                                        1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                                                        2. @@ -13880,12 +13905,12 @@

                                                          Web Cryptography API

                                                          generateKey AesKeyGenParams - CryptoKey + CryptoKey importKey None - CryptoKey + CryptoKey exportKey @@ -13985,7 +14010,7 @@

                                                          Web Cryptography API

                                                        3. Let key be a new - CryptoKey object representing the + CryptoKey object representing the generated AES key.

                                                        4. @@ -14077,7 +14102,7 @@

                                                          Web Cryptography API

                                                          1. -
                                                            If keyData is a JsonWebKey dictionary:
                                                            +
                                                            If keyData is a JsonWebKey dictionary:

                                                            Let jwk equal keyData.

                                                            Otherwise:

                                                            Throw a DataError.

                                                            @@ -14165,7 +14190,7 @@

                                                            Web Cryptography API

                                                          2. - Let key be a new CryptoKey + Let key be a new CryptoKey representing an AES key with value data.

                                                          3. @@ -14238,7 +14263,7 @@

                                                            Web Cryptography API

                                                            1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                                                            2. @@ -14373,12 +14398,12 @@

                                                              Web Cryptography API

                                                              generateKey HmacKeyGenParams - CryptoKey + CryptoKey importKey HmacImportParams - CryptoKey + CryptoKey exportKey @@ -14514,7 +14539,7 @@

                                                              Web Cryptography API

                                                            3. Let key be a new - CryptoKey object representing the + CryptoKey object representing the generated key.

                                                            4. @@ -14623,7 +14648,7 @@

                                                              Web Cryptography API

                                                              1. -
                                                                If keyData is a JsonWebKey dictionary:
                                                                +
                                                                If keyData is a JsonWebKey dictionary:

                                                                Let jwk equal keyData.

                                                                Otherwise:

                                                                Throw a DataError.

                                                                @@ -14804,7 +14829,7 @@

                                                                Web Cryptography API

                                                              2. - Let key be a new CryptoKey + Let key be a new CryptoKey object representing an HMAC key with the first length bits of data.

                                                                @@ -14889,7 +14914,7 @@

                                                                Web Cryptography API

                                                                1. - Let jwk be a new JsonWebKey + Let jwk be a new JsonWebKey dictionary.

                                                                2. @@ -15180,7 +15205,7 @@

                                                                  Web Cryptography API

                                                                  importKey None - CryptoKey + CryptoKey Get key length @@ -15300,7 +15325,7 @@

                                                                  Web Cryptography API

                                                                3. - Let key be a new CryptoKey + Let key be a new CryptoKey representing the key data provided in keyData.

                                                                4. @@ -15399,7 +15424,7 @@

                                                                  Web Cryptography API

                                                                  importKey None - CryptoKey + CryptoKey Get key length @@ -15498,7 +15523,7 @@

                                                                  Web Cryptography API

                                                                5. - Let key be a new CryptoKey + Let key be a new CryptoKey representing keyData.

                                                                6. @@ -17114,79 +17139,79 @@

                                                                  Web Cryptography API

                                                                7. § 13.5 Serialization and deserialization steps (2)
                                                                8. - § 14. SubtleCrypto interface (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) + § 14. SubtleCrypto interface (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14)
                                                                9. - § 14.3.1 The encrypt method + § 14.3.1 The encrypt method
                                                                10. - § 14.3.2 The decrypt method + § 14.3.2 The decrypt method
                                                                11. - § 14.3.3 The sign method + § 14.3.3 The sign method
                                                                12. - § 14.3.4 The verify method + § 14.3.4 The verify method
                                                                13. - § 14.3.6 The generateKey method + § 14.3.6 The generateKey method
                                                                14. - § 14.3.9 The importKey() method + § 14.3.9 The importKey() method
                                                                15. - § 17. CryptoKeyPair dictionary (2) + § 17. CryptoKeyPair dictionary (2)
                                                                16. - § 20.2 Registration + § 20.2 Registration
                                                                17. - § 20.8 Operations (2) (3) (4) (5) (6) + § 20.8 Operations (2) (3) (4) (5) (6)
                                                                18. - § 21.2 Registration + § 21.2 Registration
                                                                19. - § 21.4 Operations (2) (3) (4) (5) (6) + § 21.4 Operations (2) (3) (4) (5) (6)
                                                                20. - § 22.2 Registration + § 22.2 Registration
                                                                21. - § 22.4 Operations (2) (3) (4) (5) (6) + § 22.4 Operations (2) (3) (4) (5) (6)
                                                                22. - § 23.2 Registration + § 23.2 Registration
                                                                23. - § 23.7 Operations (2) (3) (4) (5) (6) (7) (8) + § 23.7 Operations (2) (3) (4) (5) (6) (7) (8)
                                                                24. - § 24.2 Registration + § 24.2 Registration
                                                                25. - § 24.3 EcdhKeyDeriveParams dictionary + § 24.3 EcdhKeyDeriveParams dictionary
                                                                26. - § 24.4 Operations (2) (3) (4) (5) (6) (7) (8) + § 24.4 Operations (2) (3) (4) (5) (6) (7) (8)
                                                                27. - § 25.2 Registration + § 25.2 Registration
                                                                28. - § 25.3 Operations (2) (3) (4) (5) (6) (7) (8) + § 25.3 Operations (2) (3) (4) (5) (6) (7) (8)
                                                                29. - § 26.2 Registration + § 26.2 Registration
                                                                30. - § 26.3 Operations (2) (3) (4) (5) (6) (7) (8) + § 26.3 Operations (2) (3) (4) (5) (6) (7) (8)
                                                                31. - § 27.2 Registration (2) + § 27.2 Registration (2)
                                                                32. - § 27.7 Operations (2) + § 27.7 Operations (2)
                                                                33. - § 28.2 Registration (2) + § 28.2 Registration (2)
                                                                34. - § 28.4 Operations (2) + § 28.4 Operations (2)
                                                                35. - § 29.2 Registration (2) + § 29.2 Registration (2)
                                                                36. - § 29.4 Operations (2) + § 29.4 Operations (2)
                                                                37. - § 30.2 Registration (2) + § 30.2 Registration (2)
                                                                38. - § 30.3 Operations (2) + § 30.3 Operations (2)
                                                                39. - § 31.2 Registration (2) + § 31.2 Registration (2)
                                                                40. - § 31.6 Operations (2) + § 31.6 Operations (2)
                                                                41. - § 33.2 Registration + § 33.2 Registration
                                                                42. - § 33.4 Operations + § 33.4 Operations
                                                                43. - § 34.2 Registration + § 34.2 Registration
                                                                44. - § 34.4 Operations + § 34.4 Operations