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

Side by Side Diff: content/child/webcrypto/webcrypto_util.cc

Issue 670773003: Cleanup: rename usage_mask --> usages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
« no previous file with comments | « content/child/webcrypto/webcrypto_util.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "content/child/webcrypto/webcrypto_util.h" 5 #include "content/child/webcrypto/webcrypto_util.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "content/child/webcrypto/status.h" 9 #include "content/child/webcrypto/status.h"
10 #include "third_party/WebKit/public/platform/WebCryptoAlgorithm.h" 10 #include "third_party/WebKit/public/platform/WebCryptoAlgorithm.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 const JwkToWebCryptoUsage kJwkWebCryptoUsageMap[] = { 54 const JwkToWebCryptoUsage kJwkWebCryptoUsageMap[] = {
55 {"encrypt", blink::WebCryptoKeyUsageEncrypt}, 55 {"encrypt", blink::WebCryptoKeyUsageEncrypt},
56 {"decrypt", blink::WebCryptoKeyUsageDecrypt}, 56 {"decrypt", blink::WebCryptoKeyUsageDecrypt},
57 {"sign", blink::WebCryptoKeyUsageSign}, 57 {"sign", blink::WebCryptoKeyUsageSign},
58 {"verify", blink::WebCryptoKeyUsageVerify}, 58 {"verify", blink::WebCryptoKeyUsageVerify},
59 {"deriveKey", blink::WebCryptoKeyUsageDeriveKey}, 59 {"deriveKey", blink::WebCryptoKeyUsageDeriveKey},
60 {"deriveBits", blink::WebCryptoKeyUsageDeriveBits}, 60 {"deriveBits", blink::WebCryptoKeyUsageDeriveBits},
61 {"wrapKey", blink::WebCryptoKeyUsageWrapKey}, 61 {"wrapKey", blink::WebCryptoKeyUsageWrapKey},
62 {"unwrapKey", blink::WebCryptoKeyUsageUnwrapKey}}; 62 {"unwrapKey", blink::WebCryptoKeyUsageUnwrapKey}};
63 63
64 // Modifies the input usage_mask by according to the key_op value. 64 // Modifies the input usages by according to the key_op value.
65 bool JwkKeyOpToWebCryptoUsage(const std::string& key_op, 65 bool JwkKeyOpToWebCryptoUsage(const std::string& key_op,
66 blink::WebCryptoKeyUsageMask* usage_mask) { 66 blink::WebCryptoKeyUsageMask* usages) {
67 for (size_t i = 0; i < arraysize(kJwkWebCryptoUsageMap); ++i) { 67 for (size_t i = 0; i < arraysize(kJwkWebCryptoUsageMap); ++i) {
68 if (kJwkWebCryptoUsageMap[i].jwk_key_op == key_op) { 68 if (kJwkWebCryptoUsageMap[i].jwk_key_op == key_op) {
69 *usage_mask |= kJwkWebCryptoUsageMap[i].webcrypto_usage; 69 *usages |= kJwkWebCryptoUsageMap[i].webcrypto_usage;
70 return true; 70 return true;
71 } 71 }
72 } 72 }
73 return false; 73 return false;
74 } 74 }
75 75
76 // Composes a Web Crypto usage mask from an array of JWK key_ops values. 76 // Composes a Web Crypto usage mask from an array of JWK key_ops values.
77 Status GetWebCryptoUsagesFromJwkKeyOps( 77 Status GetWebCryptoUsagesFromJwkKeyOps(const base::ListValue* jwk_key_ops_value,
78 const base::ListValue* jwk_key_ops_value, 78 blink::WebCryptoKeyUsageMask* usages) {
79 blink::WebCryptoKeyUsageMask* usage_mask) { 79 *usages = 0;
80 *usage_mask = 0;
81 for (size_t i = 0; i < jwk_key_ops_value->GetSize(); ++i) { 80 for (size_t i = 0; i < jwk_key_ops_value->GetSize(); ++i) {
82 std::string key_op; 81 std::string key_op;
83 if (!jwk_key_ops_value->GetString(i, &key_op)) { 82 if (!jwk_key_ops_value->GetString(i, &key_op)) {
84 return Status::ErrorJwkPropertyWrongType( 83 return Status::ErrorJwkPropertyWrongType(
85 base::StringPrintf("key_ops[%d]", static_cast<int>(i)), "string"); 84 base::StringPrintf("key_ops[%d]", static_cast<int>(i)), "string");
86 } 85 }
87 // Unrecognized key_ops are silently skipped. 86 // Unrecognized key_ops are silently skipped.
88 ignore_result(JwkKeyOpToWebCryptoUsage(key_op, usage_mask)); 87 ignore_result(JwkKeyOpToWebCryptoUsage(key_op, usages));
89 } 88 }
90 return Status::Success(); 89 return Status::Success();
91 } 90 }
92 91
93 // Composes a JWK key_ops List from a Web Crypto usage mask. 92 // Composes a JWK key_ops List from a Web Crypto usage mask.
94 // Note: Caller must assume ownership of returned instance. 93 // Note: Caller must assume ownership of returned instance.
95 base::ListValue* CreateJwkKeyOpsFromWebCryptoUsages( 94 base::ListValue* CreateJwkKeyOpsFromWebCryptoUsages(
96 blink::WebCryptoKeyUsageMask usage_mask) { 95 blink::WebCryptoKeyUsageMask usages) {
97 base::ListValue* jwk_key_ops = new base::ListValue(); 96 base::ListValue* jwk_key_ops = new base::ListValue();
98 for (size_t i = 0; i < arraysize(kJwkWebCryptoUsageMap); ++i) { 97 for (size_t i = 0; i < arraysize(kJwkWebCryptoUsageMap); ++i) {
99 if (usage_mask & kJwkWebCryptoUsageMap[i].webcrypto_usage) 98 if (usages & kJwkWebCryptoUsageMap[i].webcrypto_usage)
100 jwk_key_ops->AppendString(kJwkWebCryptoUsageMap[i].jwk_key_op); 99 jwk_key_ops->AppendString(kJwkWebCryptoUsageMap[i].jwk_key_op);
101 } 100 }
102 return jwk_key_ops; 101 return jwk_key_ops;
103 } 102 }
104 103
105 blink::WebCryptoAlgorithm CreateAlgorithm(blink::WebCryptoAlgorithmId id) { 104 blink::WebCryptoAlgorithm CreateAlgorithm(blink::WebCryptoAlgorithmId id) {
106 return blink::WebCryptoAlgorithm::adoptParamsAndCreate(id, NULL); 105 return blink::WebCryptoAlgorithm::adoptParamsAndCreate(id, NULL);
107 } 106 }
108 107
109 blink::WebCryptoAlgorithm CreateHmacImportAlgorithm( 108 blink::WebCryptoAlgorithm CreateHmacImportAlgorithm(
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 // avoid feeding OpenSSL data that will hang use a whitelist. 234 // avoid feeding OpenSSL data that will hang use a whitelist.
236 if (*public_exponent != 3 && *public_exponent != 65537) 235 if (*public_exponent != 3 && *public_exponent != 65537)
237 return Status::ErrorGenerateKeyPublicExponent(); 236 return Status::ErrorGenerateKeyPublicExponent();
238 237
239 return Status::Success(); 238 return Status::Success();
240 } 239 }
241 240
242 } // namespace webcrypto 241 } // namespace webcrypto
243 242
244 } // namespace content 243 } // namespace content
OLDNEW
« no previous file with comments | « content/child/webcrypto/webcrypto_util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698