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

Side by Side Diff: LayoutTests/crypto/generateKey.html

Issue 24467004: [webcrypto] Remove MockWebCrypto. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove some unused params Created 7 years, 2 months 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 | Annotate | Revision Log
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../fast/js/resources/js-test-pre.js"></script> 4 <script src="../fast/js/resources/js-test-pre.js"></script>
5 <script src="resources/common.js"></script> 5 <script src="resources/common.js"></script>
6 </head> 6 </head>
7 <body> 7 <body>
8 <p id="description"></p> 8 <p id="description"></p>
9 <div id="console"></div> 9 <div id="console"></div>
10 10
11 <script> 11 <script>
12 description("Tests cypto.subtle.generateKey."); 12 description("Tests cypto.subtle.generateKey.");
13 13
14 jsTestIsAsync = true;
15
16 extractable = true; 14 extractable = true;
17 keyUsages = ['encrypt', 'decrypt']; 15 keyUsages = ['encrypt', 'decrypt'];
18 16
19 // Invalid keyUsages 17 // Invalid keyUsages
20 aesCbc = { name: 'aes-cbc', length: 1024 }; 18 aesCbc = { name: 'aes-cbc', length: 1024 };
21 shouldThrow("crypto.subtle.generateKey(aesCbc, extractable, -1)"); 19 shouldThrow("crypto.subtle.generateKey(aesCbc, extractable, -1)");
22 shouldThrow("crypto.subtle.generateKey(aesCbc, extractable, null)"); 20 shouldThrow("crypto.subtle.generateKey(aesCbc, extractable, null)");
23 shouldThrow("crypto.subtle.generateKey(aesCbc, extractable, ['boo'])"); 21 shouldThrow("crypto.subtle.generateKey(aesCbc, extractable, ['boo'])");
24 22
25 // --------------------------------------------------- 23 // ---------------------------------------------------
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 65
68 // Note: these are the same tests as for RSASSA-PKCS1-v1_5 above. 66 // Note: these are the same tests as for RSASSA-PKCS1-v1_5 above.
69 67
70 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: -30}, extractable , keyUsages)"); 68 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: -30}, extractable , keyUsages)");
71 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: NaN}, extractable , keyUsages)"); 69 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: NaN}, extractable , keyUsages)");
72 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5'}, extractable , keyUsages)"); 70 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5'}, extractable , keyUsages)");
73 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: 10}, extractable , keyUsages)"); 71 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: 10}, extractable , keyUsages)");
74 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: 10, publicExponent: 10}, extractable , keyUsages)"); 72 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: 10, publicExponent: 10}, extractable , keyUsages)");
75 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: 10, publicExponent: null}, extractable , keyUsages)"); 73 shouldThrow("crypto.subtle.generateKey({name: 'RSAES-PKCS1-v1_5', modulusLength: 10, publicExponent: null}, extractable , keyUsages)");
76 74
75 /* TODO(eroman): generateKey() is implemented yet.
abarth-chromium 2013/09/26 04:22:27 Can we delete this code rather than commenting it
eroman 2013/09/26 18:07:53 Done.
76
77 // Note that fractional numbers are truncated, so this length should be 77 // Note that fractional numbers are truncated, so this length should be
78 // interpreted as 1024. 78 // interpreted as 1024.
79 crypto.subtle.generateKey({name: 'aes-cbc', length: 1024.9}, extractable, ['decr ypt', 'encrypt']).then(function(result) { 79 crypto.subtle.generateKey({name: 'aes-cbc', length: 1024.9}, extractable, ['decr ypt', 'encrypt']).then(function(result) {
80 key = result; 80 key = result;
81 shouldBe("key.type", "'private'") 81 shouldBe("key.type", "'secret'")
82 shouldBe("key.extractable", "true") 82 shouldBe("key.extractable", "true")
83 shouldBe("key.algorithm.name", "'AES-CBC'") 83 shouldBe("key.algorithm.name", "'AES-CBC'")
84 shouldBe("key.algorithm.length", "1024") 84 shouldBe("key.algorithm.length", "1024")
85 shouldBe("key.usages.join(',')", "'encrypt,decrypt'") 85 shouldBe("key.usages.join(',')", "'encrypt,decrypt'")
86 86
87 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256' }}, f alse, ['sign']); 87 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256' }}, f alse, ['sign']);
88 }).then(function(result) { 88 }).then(function(result) {
89 key = result; 89 key = result;
90 shouldBe("key.type", "'private'") 90 shouldBe("key.type", "'secret'")
91 shouldBe("key.extractable", "false") 91 shouldBe("key.extractable", "false")
92 shouldBe("key.algorithm.name", "'HMAC'") 92 shouldBe("key.algorithm.name", "'HMAC'")
93 shouldBe("key.algorithm.hash.name", "'SHA-256'") 93 shouldBe("key.algorithm.hash.name", "'SHA-256'")
94 shouldBe("key.algorithm.length", "null") 94 shouldBe("key.algorithm.length", "null")
95 shouldBe("key.usages.join(',')", "'sign'") 95 shouldBe("key.usages.join(',')", "'sign'")
96 96
97 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256' }, le ngth:48 }, false, ['sign']); 97 return crypto.subtle.generateKey({name: 'hmac', hash: {name: 'sha-256' }, le ngth:48 }, false, ['sign']);
98 }).then(function(result) { 98 }).then(function(result) {
99 key = result; 99 key = result;
100 shouldBe("key.type", "'private'") 100 shouldBe("key.type", "'secret'")
101 shouldBe("key.extractable", "false") 101 shouldBe("key.extractable", "false")
102 shouldBe("key.algorithm.name", "'HMAC'") 102 shouldBe("key.algorithm.name", "'HMAC'")
103 shouldBe("key.algorithm.hash.name", "'SHA-256'") 103 shouldBe("key.algorithm.hash.name", "'SHA-256'")
104 shouldBe("key.algorithm.length", "48") 104 shouldBe("key.algorithm.length", "48")
105 shouldBe("key.usages.join(',')", "'sign'") 105 shouldBe("key.usages.join(',')", "'sign'")
106 106
107 return crypto.subtle.generateKey({name: 'RSASSA-PKCS1-v1_5', modulusLength: 10, publicExponent: new Uint8Array([0])}, false, ['sign']); 107 return crypto.subtle.generateKey({name: 'RSASSA-PKCS1-v1_5', modulusLength: 10, publicExponent: new Uint8Array([0])}, false, ['sign']);
108 }).then(function(result) { 108 }).then(function(result) {
109 keyPair = result; 109 keyPair = result;
110 110
111 shouldBeDefined("keyPair.publicKey"); 111 shouldBeDefined("keyPair.publicKey");
112 shouldBeDefined("keyPair.privateKey"); 112 shouldBeDefined("keyPair.privateKey");
113 113
114 shouldBe("keyPair.publicKey.type", "'public'"); 114 shouldBe("keyPair.publicKey.type", "'public'");
115 shouldBe("keyPair.publicKey.algorithm.name", "'RSASSA-PKCS1-v1_5'"); 115 shouldBe("keyPair.publicKey.algorithm.name", "'RSASSA-PKCS1-v1_5'");
116 116
117 shouldBe("keyPair.privateKey.type", "'private'"); 117 shouldBe("keyPair.privateKey.type", "'private'");
118 shouldBe("keyPair.privateKey.algorithm.name", "'RSASSA-PKCS1-v1_5'"); 118 shouldBe("keyPair.privateKey.algorithm.name", "'RSASSA-PKCS1-v1_5'");
119 119
120 // KeyPair should return the same Key wrapper 120 // KeyPair should return the same Key wrapper
121 keyPair.publicKey.foo = "bar"; 121 keyPair.publicKey.foo = "bar";
122 shouldBe("keyPair.publicKey.foo", "'bar'"); 122 shouldBe("keyPair.publicKey.foo", "'bar'");
123 if (window.gc) { 123 if (window.gc) {
124 window.gc(); 124 window.gc();
125 window.gc(); 125 window.gc();
126 } 126 }
127 shouldBe("keyPair.publicKey.foo", "'bar'"); 127 shouldBe("keyPair.publicKey.foo", "'bar'");
128 128
129 }).then(finishJSTest, failAndFinishJSTest); 129 }).then(finishJSTest, failAndFinishJSTest);
130 */
130 131
131 </script> 132 </script>
132 133
133 <script src="../fast/js/resources/js-test-post.js"></script> 134 <script src="../fast/js/resources/js-test-post.js"></script>
134 </body> 135 </body>
135 </html> 136 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698