Переглянути джерело

LibWeb: Set key extractability in SubtleCrypto::derive_key()

None of the algorithms actually set the `extractable` internal slot in
their implementations, and looking at `SubtleCrypto::import_key()` it
seems likely that a step is missing here.
Jelle Raaijmakers 8 місяців тому
батько
коміт
f7993495bd
1 змінених файлів з 6 додано та 1 видалено
  1. 6 1
      Libraries/LibWeb/Crypto/SubtleCrypto.cpp

+ 6 - 1
Libraries/LibWeb/Crypto/SubtleCrypto.cpp

@@ -719,8 +719,13 @@ JS::ThrowCompletionOr<JS::NonnullGCPtr<WebIDL::Promise>> SubtleCrypto::derive_ke
             return;
         }
 
+        // AD-HOC: Set the [[extractable]] internal slot of key to be extractable.
+        //         See: https://github.com/w3c/webcrypto/issues/383
+        auto key = result.release_value();
+        key->set_extractable(extractable);
+
         // 17. Resolve promise with result.
-        WebIDL::resolve_promise(realm, promise, result.release_value());
+        WebIDL::resolve_promise(realm, promise, key);
     }));
 
     return promise;