OLD | NEW |
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 <set> | 7 #include <set> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 } | 130 } |
131 | 131 |
132 blink::WebCryptoAlgorithm CreateRsaHashedImportAlgorithm( | 132 blink::WebCryptoAlgorithm CreateRsaHashedImportAlgorithm( |
133 blink::WebCryptoAlgorithmId id, | 133 blink::WebCryptoAlgorithmId id, |
134 blink::WebCryptoAlgorithmId hash_id) { | 134 blink::WebCryptoAlgorithmId hash_id) { |
135 DCHECK(blink::WebCryptoAlgorithm::isHash(hash_id)); | 135 DCHECK(blink::WebCryptoAlgorithm::isHash(hash_id)); |
136 return blink::WebCryptoAlgorithm::adoptParamsAndCreate( | 136 return blink::WebCryptoAlgorithm::adoptParamsAndCreate( |
137 id, new blink::WebCryptoRsaHashedImportParams(CreateAlgorithm(hash_id))); | 137 id, new blink::WebCryptoRsaHashedImportParams(CreateAlgorithm(hash_id))); |
138 } | 138 } |
139 | 139 |
| 140 blink::WebCryptoAlgorithm CreateEcImportAlgorithm( |
| 141 blink::WebCryptoAlgorithmId id, |
| 142 blink::WebCryptoNamedCurve named_curve) { |
| 143 return blink::WebCryptoAlgorithm::adoptParamsAndCreate( |
| 144 id, new blink::WebCryptoEcKeyImportParams(named_curve)); |
| 145 } |
| 146 |
140 bool ContainsKeyUsages(blink::WebCryptoKeyUsageMask a, | 147 bool ContainsKeyUsages(blink::WebCryptoKeyUsageMask a, |
141 blink::WebCryptoKeyUsageMask b) { | 148 blink::WebCryptoKeyUsageMask b) { |
142 return (a & b) == b; | 149 return (a & b) == b; |
143 } | 150 } |
144 | 151 |
145 // TODO(eroman): Move this helper to WebCryptoKey. | 152 // TODO(eroman): Move this helper to WebCryptoKey. |
146 bool KeyUsageAllows(const blink::WebCryptoKey& key, | 153 bool KeyUsageAllows(const blink::WebCryptoKey& key, |
147 const blink::WebCryptoKeyUsage usage) { | 154 const blink::WebCryptoKeyUsage usage) { |
148 return ((key.usages() & usage) != 0); | 155 return ((key.usages() & usage) != 0); |
149 } | 156 } |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 // avoid feeding OpenSSL data that will hang use a whitelist. | 257 // avoid feeding OpenSSL data that will hang use a whitelist. |
251 if (*public_exponent != 3 && *public_exponent != 65537) | 258 if (*public_exponent != 3 && *public_exponent != 65537) |
252 return Status::ErrorGenerateKeyPublicExponent(); | 259 return Status::ErrorGenerateKeyPublicExponent(); |
253 | 260 |
254 return Status::Success(); | 261 return Status::Success(); |
255 } | 262 } |
256 | 263 |
257 } // namespace webcrypto | 264 } // namespace webcrypto |
258 | 265 |
259 } // namespace content | 266 } // namespace content |
OLD | NEW |