| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/renderer/webcrypto/webcrypto_impl.h" | 5 #include "content/renderer/webcrypto/webcrypto_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <functional> | 8 #include <functional> |
| 9 #include <map> | 9 #include <map> |
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 blink::WebCryptoKey public_key = blink::WebCryptoKey::createNull(); | 208 blink::WebCryptoKey public_key = blink::WebCryptoKey::createNull(); |
| 209 blink::WebCryptoKey private_key = blink::WebCryptoKey::createNull(); | 209 blink::WebCryptoKey private_key = blink::WebCryptoKey::createNull(); |
| 210 if (!GenerateKeyPairInternal( | 210 if (!GenerateKeyPairInternal( |
| 211 algorithm, extractable, usage_mask, &public_key, &private_key)) { | 211 algorithm, extractable, usage_mask, &public_key, &private_key)) { |
| 212 result.completeWithError(); | 212 result.completeWithError(); |
| 213 } else { | 213 } else { |
| 214 DCHECK(public_key.handle()); | 214 DCHECK(public_key.handle()); |
| 215 DCHECK(private_key.handle()); | 215 DCHECK(private_key.handle()); |
| 216 DCHECK_EQ(algorithm.id(), public_key.algorithm().id()); | 216 DCHECK_EQ(algorithm.id(), public_key.algorithm().id()); |
| 217 DCHECK_EQ(algorithm.id(), private_key.algorithm().id()); | 217 DCHECK_EQ(algorithm.id(), private_key.algorithm().id()); |
| 218 // TODO(padolph): The public key should probably always be extractable, | 218 DCHECK_EQ(true, public_key.extractable()); |
| 219 // regardless of the input 'extractable' parameter, but that is not called | |
| 220 // out in the Web Crypto API spec. | |
| 221 // See https://www.w3.org/Bugs/Public/show_bug.cgi?id=23695 | |
| 222 DCHECK_EQ(extractable, public_key.extractable()); | |
| 223 DCHECK_EQ(extractable, private_key.extractable()); | 219 DCHECK_EQ(extractable, private_key.extractable()); |
| 224 DCHECK_EQ(usage_mask, public_key.usages()); | 220 DCHECK_EQ(usage_mask, public_key.usages()); |
| 225 DCHECK_EQ(usage_mask, private_key.usages()); | 221 DCHECK_EQ(usage_mask, private_key.usages()); |
| 226 result.completeWithKeyPair(public_key, private_key); | 222 result.completeWithKeyPair(public_key, private_key); |
| 227 } | 223 } |
| 228 } else { | 224 } else { |
| 229 blink::WebCryptoKey key = blink::WebCryptoKey::createNull(); | 225 blink::WebCryptoKey key = blink::WebCryptoKey::createNull(); |
| 230 if (!GenerateKeyInternal(algorithm, extractable, usage_mask, &key)) { | 226 if (!GenerateKeyInternal(algorithm, extractable, usage_mask, &key)) { |
| 231 result.completeWithError(); | 227 result.completeWithError(); |
| 232 } else { | 228 } else { |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 // TODO(padolph): JWK import RSA public key | 581 // TODO(padolph): JWK import RSA public key |
| 586 return false; | 582 return false; |
| 587 } else { | 583 } else { |
| 588 return false; | 584 return false; |
| 589 } | 585 } |
| 590 | 586 |
| 591 return true; | 587 return true; |
| 592 } | 588 } |
| 593 | 589 |
| 594 } // namespace content | 590 } // namespace content |
| OLD | NEW |