Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / crypto / subtle / exportKey-unextractable.html
blob481c31dcf94051b3ea36683a908493db45e8b29b
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 <script src="resources/common.js"></script>
6 <script src="resources/keys.js"></script>
7 </head>
8 <body>
9 <p id="description"></p>
10 <div id="console"></div>
12 <script>
13 description("Tests that an unextractable key cannot be exported.");
15 jsTestIsAsync = true;
17 // FIXME: Should also test unextractable keys created from generateKey().
19 function importUnextractableAesKey()
21 var keyData = new Uint8Array(16);
22 var usages = ['encrypt'];
23 var extractable = false;
24 var algorithm = {name: 'aes-cbc'};
26 return crypto.subtle.importKey('raw', keyData, algorithm, extractable, usages);
29 function importUnextractableHmacKey()
31 var keyData = new Uint8Array(16);
32 var usages = ['sign'];
33 var extractable = false;
34 var algorithm = {name: 'HMAC', hash: {name: 'sha-1'}};
36 return crypto.subtle.importKey('raw', keyData, algorithm, extractable, usages);
39 function importUnextractableRsaPrivateKey()
41 var keyData = hexStringToUint8Array(kKeyData.rsa1.pkcs8);
42 var usages = ['sign'];
43 var extractable = false;
44 var algorithm = {name: 'RSASSA-PKCS1-v1_5', hash: {name: "sha-1"}};
46 return crypto.subtle.importKey('pkcs8', keyData, algorithm, extractable, usages);
49 importUnextractableAesKey().then(function(key) {
50 return crypto.subtle.exportKey('raw', key);
51 }).then(failAndFinishJSTest, function(result) {
52 logError(result);
54 return importUnextractableHmacKey();
55 }).then(function(key) {
56 return crypto.subtle.exportKey('raw', key);
57 }).then(failAndFinishJSTest, function(result) {
58 logError(result);
60 return importUnextractableRsaPrivateKey();
61 }).then(function(key) {
62 return crypto.subtle.exportKey('pkcs8', key);
63 }).then(failAndFinishJSTest, function(result) {
64 logError(result);
65 }).then(finishJSTest, failAndFinishJSTest);
67 </script>
69 </body>
70 </html>