Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(292)

Side by Side Diff: LayoutTests/crypto/exportKey-deserializedKey.html

Issue 770363002: [WebCrypto] Crypto tests updated to use KeyUsage (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../resources/js-test.js"></script>
5 <script src="resources/common.js"></script>
6 </head>
7 <body>
8 <script>
9 description("Test storing a Raw key in IndexedDB, and retrieving it which ha s empty key usage.");
10
11 jsTestIsAsync = true;
12 function setDeserializeKey(algorithm) {
13 var jwkKey = {
14 "kty": "oct",
15 "k": "jnOw99oOZFLIEPMrgJB55WL46tJSLGt7jnOw99oOZFI"
16 };
17
18 var keyDesc = {
19 format: "jwk",
20 keyData: jwkKey,
21 algorithm: {name: algorithm},
22 extractable: true,
23 usages: []
24 };
25 return internals.deserializeBuffer(internals.serializeObject(keyDesc));
eroman 2014/12/05 17:16:00 This isn't what I had in mind. This test is seria
26 }
27
28 var aesKey = setDeserializeKey("AES-CBC");
29 var hmacKey = setDeserializeKey("HMAC");
30
31 var openRequest = indexedDB.open("crypto_subtle");
32 openRequest.onupgradeneeded = function(event) {
33 var objectStore = event.target.result.createObjectStore("key-indexeddb") ;
34 }
35 openRequest.onerror = function(event) {
36 testFailed("Could not open database: " + event.target.error.name);
37 finishJSTest();
38 }
39 openRequest.onsuccess = function(event) {
40 db = event.target.result;
41 storeKey(aesKey, "myaeskey");
42 }
43
44 function storeKey(key, keyname) {
45 var tx = db.transaction("key-indexeddb", "readwrite");
46 var objectStore = tx.objectStore("key-indexeddb");
47 var req = objectStore.put(key, keyname);
48 req.onerror = function(event) {
49 testFailed("Could not put a key into database: " + event.target.erro r.name);
50 finishJSTest();
51 }
52 req.onsuccess = function(event) {
53 debug("Put key into database successfully");
54 }
55 tx.oncomplete = function() {
56 keyname == "myaeskey" ? storeKey(hmacKey, "myhmackey") : readKey();
57 }
58 }
59
60 function readKey() {
61 var objectStore = db.transaction("key-indexeddb").objectStore("key-index eddb");
62 var aesreq = objectStore.get("myaeskey");
63 var hmacreq = objectStore.get("myhmackey");
64 var counter = 0;
65
66 aesreq.onerror = function(event) {
67 testFailed("Could not get a key from database: " + event.target.erro r.name);
68 finishJSTest();
69 }
70 aesreq.onsuccess = function(event) {
71 counter++;
72 debug("Read AES Key");
73 window.retrievedKey = event.target.result;
74 shouldBeEqualToString("retrievedKey.format", "jwk");
75 shouldBeEqualToString("retrievedKey.keyData.k", "jnOw99oOZFLIEPMrgJB 55WL46tJSLGt7jnOw99oOZFI");
76 shouldBe("retrievedKey.extractable", "true");
77 shouldBeEqualToString("retrievedKey.algorithm.name", "AES-CBC");
78 shouldBe("retrievedKey.usages", "[]");
79 if (counter == 2)
80 finishJSTest();
81
82 }
83 hmacreq.onerror = function(event) {
84 testFailed("Could not get a key from database: " + event.target.erro r.name);
85 finishJSTest();
86 }
87 hmacreq.onsuccess = function(event) {
88 counter++;
89 debug("Read HMAC Key");
90 window.retrievedKey = event.target.result;
91 shouldBeEqualToString("retrievedKey.format", "jwk");
92 shouldBeEqualToString("retrievedKey.keyData.k", "jnOw99oOZFLIEPMrgJB 55WL46tJSLGt7jnOw99oOZFI");
93 shouldBe("retrievedKey.extractable", "true");
94 shouldBeEqualToString("retrievedKey.algorithm.name", "HMAC");
95 shouldBe("retrievedKey.usages", "[]");
96 if (counter == 2)
97 finishJSTest();
98 }
99 }
100 </script>
101 </body>
102 </html>
103
OLDNEW
« no previous file with comments | « LayoutTests/crypto/clone-hmacKey-expected.txt ('k') | LayoutTests/crypto/exportKey-deserializedKey-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698