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

Side by Side Diff: content/child/webcrypto/test/aes_kw_unittest.cc

Issue 777403004: [WebCrypto] Throw syntaxError if keyUsage is empty in ImportKey (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated issues in ecdh tests and other review comments. 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/stl_util.h" 5 #include "base/stl_util.h"
6 #include "content/child/webcrypto/algorithm_dispatch.h" 6 #include "content/child/webcrypto/algorithm_dispatch.h"
7 #include "content/child/webcrypto/crypto_data.h" 7 #include "content/child/webcrypto/crypto_data.h"
8 #include "content/child/webcrypto/status.h" 8 #include "content/child/webcrypto/status.h"
9 #include "content/child/webcrypto/test/test_helpers.h" 9 #include "content/child/webcrypto/test/test_helpers.h"
10 #include "content/child/webcrypto/webcrypto_util.h" 10 #include "content/child/webcrypto/webcrypto_util.h"
(...skipping 11 matching lines...) Expand all
22 return CreateAesKeyGenAlgorithm(blink::WebCryptoAlgorithmIdAesKw, 22 return CreateAesKeyGenAlgorithm(blink::WebCryptoAlgorithmIdAesKw,
23 key_length_bits); 23 key_length_bits);
24 } 24 }
25 25
26 TEST(WebCryptoAesKwTest, GenerateKeyBadLength) { 26 TEST(WebCryptoAesKwTest, GenerateKeyBadLength) {
27 const unsigned short kKeyLen[] = {0, 127, 257}; 27 const unsigned short kKeyLen[] = {0, 127, 257};
28 blink::WebCryptoKey key; 28 blink::WebCryptoKey key;
29 for (size_t i = 0; i < arraysize(kKeyLen); ++i) { 29 for (size_t i = 0; i < arraysize(kKeyLen); ++i) {
30 SCOPED_TRACE(i); 30 SCOPED_TRACE(i);
31 EXPECT_EQ(Status::ErrorGenerateAesKeyLength(), 31 EXPECT_EQ(Status::ErrorGenerateAesKeyLength(),
32 GenerateSecretKey(CreateAesKwKeyGenAlgorithm(kKeyLen[i]), true, 0, 32 GenerateSecretKey(CreateAesKwKeyGenAlgorithm(kKeyLen[i]), true,
33 &key)); 33 blink::WebCryptoKeyUsageWrapKey, &key));
34 } 34 }
35 } 35 }
36 36
37 TEST(WebCryptoAesKwTest, GenerateKeyEmptyUsage) { 37 TEST(WebCryptoAesKwTest, GenerateKeyEmptyUsage) {
38 blink::WebCryptoKey key; 38 blink::WebCryptoKey key;
39 EXPECT_EQ(Status::ErrorCreateKeyEmptyUsages(), 39 EXPECT_EQ(Status::ErrorCreateKeyEmptyUsages(),
40 GenerateSecretKey(CreateAesKwKeyGenAlgorithm(256), true, 0, &key)); 40 GenerateSecretKey(CreateAesKwKeyGenAlgorithm(256), true, 0, &key));
41 } 41 }
42 42
43 TEST(WebCryptoAesKwTest, ImportKeyEmptyUsage) {
44 blink::WebCryptoKey key;
45 EXPECT_EQ(Status::ErrorCreateKeyEmptyUsages(),
46 ImportKey(blink::WebCryptoKeyFormatRaw,
47 CryptoData(std::vector<uint8_t>(16)),
48 CreateAlgorithm(blink::WebCryptoAlgorithmIdAesKw),
49 true, 0, &key));
50 }
51
43 TEST(WebCryptoAesKwTest, ImportKeyJwkKeyOpsWrapUnwrap) { 52 TEST(WebCryptoAesKwTest, ImportKeyJwkKeyOpsWrapUnwrap) {
44 blink::WebCryptoKey key; 53 blink::WebCryptoKey key;
45 base::DictionaryValue dict; 54 base::DictionaryValue dict;
46 dict.SetString("kty", "oct"); 55 dict.SetString("kty", "oct");
47 dict.SetString("k", "GADWrMRHwQfoNaXU5fZvTg"); 56 dict.SetString("k", "GADWrMRHwQfoNaXU5fZvTg");
48 base::ListValue* key_ops = new base::ListValue; 57 base::ListValue* key_ops = new base::ListValue;
49 dict.Set("key_ops", key_ops); // Takes ownership. 58 dict.Set("key_ops", key_ops); // Takes ownership.
50 59
51 key_ops->AppendString("wrapKey"); 60 key_ops->AppendString("wrapKey");
52 61
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 blink::WebCryptoAlgorithmIdSha256), 531 blink::WebCryptoAlgorithmIdSha256),
523 true, bad_usages[i], &key)); 532 true, bad_usages[i], &key));
524 } 533 }
525 } 534 }
526 535
527 } // namespace 536 } // namespace
528 537
529 } // namespace webcrypto 538 } // namespace webcrypto
530 539
531 } // namespace content 540 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698