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/openssl/rsa_key_openssl.h" | 5 #include "content/child/webcrypto/openssl/rsa_key_openssl.h" |
6 | 6 |
7 #include <openssl/evp.h> | 7 #include <openssl/evp.h> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 | 297 |
298 JwkRsaInfo jwk; | 298 JwkRsaInfo jwk; |
299 Status status = | 299 Status status = |
300 ReadRsaKeyJwk(key_data, jwk_algorithm, extractable, usages, &jwk); | 300 ReadRsaKeyJwk(key_data, jwk_algorithm, extractable, usages, &jwk); |
301 if (status.IsError()) | 301 if (status.IsError()) |
302 return status; | 302 return status; |
303 | 303 |
304 // Once the key type is known, verify the usages. | 304 // Once the key type is known, verify the usages. |
305 status = CheckKeyCreationUsages( | 305 status = CheckKeyCreationUsages( |
306 jwk.is_private_key ? all_private_key_usages_ : all_public_key_usages_, | 306 jwk.is_private_key ? all_private_key_usages_ : all_public_key_usages_, |
307 usages); | 307 usages, !jwk.is_private_key); |
308 if (status.IsError()) | 308 if (status.IsError()) |
309 return status; | 309 return status; |
310 | 310 |
311 return jwk.is_private_key | 311 return jwk.is_private_key |
312 ? ImportRsaPrivateKey(algorithm, extractable, usages, jwk, key) | 312 ? ImportRsaPrivateKey(algorithm, extractable, usages, jwk, key) |
313 : ImportRsaPublicKey(algorithm, extractable, usages, | 313 : ImportRsaPublicKey(algorithm, extractable, usages, |
314 CryptoData(jwk.n), CryptoData(jwk.e), key); | 314 CryptoData(jwk.n), CryptoData(jwk.e), key); |
315 } | 315 } |
316 | 316 |
317 Status RsaHashedAlgorithm::ExportKeyPkcs8(const blink::WebCryptoKey& key, | 317 Status RsaHashedAlgorithm::ExportKeyPkcs8(const blink::WebCryptoKey& key, |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 key->algorithm().rsaHashedParams()->publicExponent().size())) { | 425 key->algorithm().rsaHashedParams()->publicExponent().size())) { |
426 return Status::ErrorUnexpected(); | 426 return Status::ErrorUnexpected(); |
427 } | 427 } |
428 | 428 |
429 return Status::Success(); | 429 return Status::Success(); |
430 } | 430 } |
431 | 431 |
432 } // namespace webcrypto | 432 } // namespace webcrypto |
433 | 433 |
434 } // namespace content | 434 } // namespace content |
OLD | NEW |