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

Side by Side Diff: LayoutTests/crypto/hmac-sign-verify.html

Issue 222553007: [webcrypto] Expose crypto.subtle to web workers. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: check if changes... Created 6 years, 8 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
« no previous file with comments | « no previous file | LayoutTests/crypto/resources/common.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../resources/js-test.js"></script> 4 <script src="../resources/js-test.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
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 var keyData = hexStringToUint8Array(testCase.key); 80 var keyData = hexStringToUint8Array(testCase.key);
81 var usages = ['sign', 'verify']; 81 var usages = ['sign', 'verify'];
82 var extractable = false; 82 var extractable = false;
83 83
84 // (1) Import the key 84 // (1) Import the key
85 return crypto.subtle.importKey('raw', keyData, importAlgorithm, extractable, usages).then(function(result) { 85 return crypto.subtle.importKey('raw', keyData, importAlgorithm, extractable, usages).then(function(result) {
86 key = result; 86 key = result;
87 87
88 // shouldBe() can only resolve variables in global context. 88 // shouldBe() can only resolve variables in global context.
89 tmpKey = key; 89 tmpKey = key;
90 shouldEvaluateAs("tmpKey.type", "secret") 90 shouldEvaluateAs("tmpKey.type", "secret");
91 shouldEvaluateAs("tmpKey.extractable", false) 91 shouldEvaluateAs("tmpKey.extractable", false);
92 shouldEvaluateAs("tmpKey.algorithm.name", "HMAC") 92 shouldEvaluateAs("tmpKey.algorithm.name", "HMAC");
93 shouldEvaluateAs("tmpKey.algorithm.hash.name", testCase.hash) 93 shouldEvaluateAs("tmpKey.algorithm.hash.name", testCase.hash);
94 shouldEvaluateAs("tmpKey.algorithm.length", keyData.length * 8); 94 shouldEvaluateAs("tmpKey.algorithm.length", keyData.length * 8);
95 shouldEvaluateAs("tmpKey.usages.join(',')", "sign,verify") 95 shouldEvaluateAs("tmpKey.usages.join(',')", "sign,verify");
96 96
97 // (2) Sign. 97 // (2) Sign.
98 return crypto.subtle.sign(algorithm, key, hexStringToUint8Array(testCase .message)); 98 return crypto.subtle.sign(algorithm, key, hexStringToUint8Array(testCase .message));
99 }).then(function(result) { 99 }).then(function(result) {
100 bytesShouldMatchHexString("Mac", testCase.mac, result); 100 bytesShouldMatchHexString("Mac", testCase.mac, result);
101 101
102 // (3) Verify 102 // (3) Verify
103 return crypto.subtle.verify(algorithm, key, hexStringToUint8Array(testCa se.mac), hexStringToUint8Array(testCase.message)); 103 return crypto.subtle.verify(algorithm, key, hexStringToUint8Array(testCa se.mac), hexStringToUint8Array(testCase.message));
104 }).then(function(result) { 104 }).then(function(result) {
105 verifyResult = result; 105 verifyResult = result;
106 shouldBe("verifyResult", "true") 106 shouldBe("verifyResult", "true");
107 107
108 // (4) Verify truncated mac (by stripping 1 byte off of it). 108 // (4) Verify truncated mac (by stripping 1 byte off of it).
109 var expectedMac = hexStringToUint8Array(testCase.mac); 109 var expectedMac = hexStringToUint8Array(testCase.mac);
110 return crypto.subtle.verify(algorithm, key, expectedMac.subarray(0, expe ctedMac.byteLength - 1), hexStringToUint8Array(testCase.message)); 110 return crypto.subtle.verify(algorithm, key, expectedMac.subarray(0, expe ctedMac.byteLength - 1), hexStringToUint8Array(testCase.message));
111 }).then(function(result) { 111 }).then(function(result) {
112 verifyResult = result; 112 verifyResult = result;
113 shouldBe("verifyResult", "false") 113 shouldBe("verifyResult", "false");
114 }); 114 });
115 } 115 }
116 116
117 var lastPromise = Promise.resolve(null); 117 var lastPromise = Promise.resolve(null);
118 118
119 kHmacTestVectors.forEach(function(testCase) { 119 kHmacTestVectors.forEach(function(testCase) {
120 lastPromise = lastPromise.then(runTest.bind(null, testCase)); 120 lastPromise = lastPromise.then(runTest.bind(null, testCase));
121 }); 121 });
122 122
123 lastPromise.then(finishJSTest, failAndFinishJSTest); 123 lastPromise.then(finishJSTest, failAndFinishJSTest);
124 124
125 </script> 125 </script>
126 126
127 </body> 127 </body>
128 </html> 128 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/crypto/resources/common.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698