Index: LayoutTests/crypto/deserialize-legacy-aes-key-empty-usages.html |
diff --git a/LayoutTests/crypto/deserialize-legacy-aes-key-empty-usages.html b/LayoutTests/crypto/deserialize-legacy-aes-key-empty-usages.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4f8caceee8bbf331478836f34b2f6a80ea73d32c |
--- /dev/null |
+++ b/LayoutTests/crypto/deserialize-legacy-aes-key-empty-usages.html |
@@ -0,0 +1,29 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<script src="../resources/js-test.js"></script> |
+<script src="resources/common.js"></script> |
+</head> |
+<body> |
+<script> |
+description("Check that an already imported key with empty usages can be deserialized."); |
+ |
+// It used to be possible to import keys with empty usages, it is possible that |
+// such keys were persisted to storage. This test verifies that such keys can |
+// still be successfully de-serialized. |
+ |
+// The version number of the serialized format used is 7. |
+ |
+var serializedKey = "ff073f004b010110011030112233445566778899aabbccddeeff"; |
+ |
+var key = internals.deserializeBuffer(hexStringToUint8Array(serializedKey).buffer); |
+ |
+shouldBeEqualToString("key.type", "secret"); |
+shouldBeTrue("key.extractable"); |
+shouldBeEqualToString("key.algorithm.name", "AES-CBC"); |
+shouldBe("key.usages", "[]"); |
+ |
+</script> |
+</body> |
+</html> |
+ |