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 "chrome/browser/extensions/api/enterprise_platform_keys_private/enterpr
ise_platform_keys_private_api.h" | 5 #include "chrome/browser/extensions/api/enterprise_platform_keys_private/enterpr
ise_platform_keys_private_api.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 EPKPChallengeKeyBase::PrepareKeyContext::~PrepareKeyContext() { | 77 EPKPChallengeKeyBase::PrepareKeyContext::~PrepareKeyContext() { |
78 } | 78 } |
79 | 79 |
80 EPKPChallengeKeyBase::EPKPChallengeKeyBase() | 80 EPKPChallengeKeyBase::EPKPChallengeKeyBase() |
81 : cryptohome_client_( | 81 : cryptohome_client_( |
82 chromeos::DBusThreadManager::Get()->GetCryptohomeClient()), | 82 chromeos::DBusThreadManager::Get()->GetCryptohomeClient()), |
83 async_caller_(cryptohome::AsyncMethodCaller::GetInstance()), | 83 async_caller_(cryptohome::AsyncMethodCaller::GetInstance()), |
84 install_attributes_(g_browser_process->platform_part() | 84 install_attributes_(g_browser_process->platform_part() |
85 ->browser_policy_connector_chromeos() | 85 ->browser_policy_connector_chromeos() |
86 ->GetInstallAttributes()) { | 86 ->GetInstallAttributes()) { |
87 scoped_ptr<chromeos::attestation::ServerProxy> ca_client( | 87 std::unique_ptr<chromeos::attestation::ServerProxy> ca_client( |
88 new chromeos::attestation::AttestationCAClient()); | 88 new chromeos::attestation::AttestationCAClient()); |
89 default_attestation_flow_.reset(new chromeos::attestation::AttestationFlow( | 89 default_attestation_flow_.reset(new chromeos::attestation::AttestationFlow( |
90 async_caller_, cryptohome_client_, std::move(ca_client))); | 90 async_caller_, cryptohome_client_, std::move(ca_client))); |
91 attestation_flow_ = default_attestation_flow_.get(); | 91 attestation_flow_ = default_attestation_flow_.get(); |
92 } | 92 } |
93 | 93 |
94 EPKPChallengeKeyBase::EPKPChallengeKeyBase( | 94 EPKPChallengeKeyBase::EPKPChallengeKeyBase( |
95 chromeos::CryptohomeClient* cryptohome_client, | 95 chromeos::CryptohomeClient* cryptohome_client, |
96 cryptohome::AsyncMethodCaller* async_caller, | 96 cryptohome::AsyncMethodCaller* async_caller, |
97 chromeos::attestation::AttestationFlow* attestation_flow, | 97 chromeos::attestation::AttestationFlow* attestation_flow, |
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction:: | 559 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction:: |
560 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction( | 560 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction( |
561 EPKPChallengeMachineKey* impl_for_testing) | 561 EPKPChallengeMachineKey* impl_for_testing) |
562 : impl_(impl_for_testing) {} | 562 : impl_(impl_for_testing) {} |
563 | 563 |
564 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction:: | 564 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction:: |
565 ~EnterprisePlatformKeysPrivateChallengeMachineKeyFunction() = default; | 565 ~EnterprisePlatformKeysPrivateChallengeMachineKeyFunction() = default; |
566 | 566 |
567 ExtensionFunction::ResponseAction | 567 ExtensionFunction::ResponseAction |
568 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction::Run() { | 568 EnterprisePlatformKeysPrivateChallengeMachineKeyFunction::Run() { |
569 scoped_ptr<api_epkp::ChallengeMachineKey::Params> params( | 569 std::unique_ptr<api_epkp::ChallengeMachineKey::Params> params( |
570 api_epkp::ChallengeMachineKey::Params::Create(*args_)); | 570 api_epkp::ChallengeMachineKey::Params::Create(*args_)); |
571 EXTENSION_FUNCTION_VALIDATE(params); | 571 EXTENSION_FUNCTION_VALIDATE(params); |
572 ChallengeKeyCallback callback = | 572 ChallengeKeyCallback callback = |
573 base::Bind(&EnterprisePlatformKeysPrivateChallengeMachineKeyFunction:: | 573 base::Bind(&EnterprisePlatformKeysPrivateChallengeMachineKeyFunction:: |
574 OnChallengedKey, | 574 OnChallengedKey, |
575 this); | 575 this); |
576 // base::Unretained is safe on impl_ since its life-cycle matches |this| and | 576 // base::Unretained is safe on impl_ since its life-cycle matches |this| and |
577 // |callback| holds a reference to |this|. | 577 // |callback| holds a reference to |this|. |
578 base::Closure task = base::Bind( | 578 base::Closure task = base::Bind( |
579 &EPKPChallengeMachineKey::DecodeAndRun, base::Unretained(impl_), | 579 &EPKPChallengeMachineKey::DecodeAndRun, base::Unretained(impl_), |
(...skipping 23 matching lines...) Expand all Loading... |
603 EnterprisePlatformKeysPrivateChallengeUserKeyFunction:: | 603 EnterprisePlatformKeysPrivateChallengeUserKeyFunction:: |
604 EnterprisePlatformKeysPrivateChallengeUserKeyFunction( | 604 EnterprisePlatformKeysPrivateChallengeUserKeyFunction( |
605 EPKPChallengeUserKey* impl_for_testing) | 605 EPKPChallengeUserKey* impl_for_testing) |
606 : impl_(impl_for_testing) {} | 606 : impl_(impl_for_testing) {} |
607 | 607 |
608 EnterprisePlatformKeysPrivateChallengeUserKeyFunction:: | 608 EnterprisePlatformKeysPrivateChallengeUserKeyFunction:: |
609 ~EnterprisePlatformKeysPrivateChallengeUserKeyFunction() = default; | 609 ~EnterprisePlatformKeysPrivateChallengeUserKeyFunction() = default; |
610 | 610 |
611 ExtensionFunction::ResponseAction | 611 ExtensionFunction::ResponseAction |
612 EnterprisePlatformKeysPrivateChallengeUserKeyFunction::Run() { | 612 EnterprisePlatformKeysPrivateChallengeUserKeyFunction::Run() { |
613 scoped_ptr<api_epkp::ChallengeUserKey::Params> params( | 613 std::unique_ptr<api_epkp::ChallengeUserKey::Params> params( |
614 api_epkp::ChallengeUserKey::Params::Create(*args_)); | 614 api_epkp::ChallengeUserKey::Params::Create(*args_)); |
615 EXTENSION_FUNCTION_VALIDATE(params); | 615 EXTENSION_FUNCTION_VALIDATE(params); |
616 ChallengeKeyCallback callback = base::Bind( | 616 ChallengeKeyCallback callback = base::Bind( |
617 &EnterprisePlatformKeysPrivateChallengeUserKeyFunction::OnChallengedKey, | 617 &EnterprisePlatformKeysPrivateChallengeUserKeyFunction::OnChallengedKey, |
618 this); | 618 this); |
619 // base::Unretained is safe on impl_ since its life-cycle matches |this| and | 619 // base::Unretained is safe on impl_ since its life-cycle matches |this| and |
620 // |callback| holds a reference to |this|. | 620 // |callback| holds a reference to |this|. |
621 base::Closure task = base::Bind( | 621 base::Closure task = base::Bind( |
622 &EPKPChallengeUserKey::DecodeAndRun, base::Unretained(impl_), | 622 &EPKPChallengeUserKey::DecodeAndRun, base::Unretained(impl_), |
623 scoped_refptr<UIThreadExtensionFunction>(AsUIThreadExtensionFunction()), | 623 scoped_refptr<UIThreadExtensionFunction>(AsUIThreadExtensionFunction()), |
624 callback, params->challenge, params->register_key); | 624 callback, params->challenge, params->register_key); |
625 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, task); | 625 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, task); |
626 return RespondLater(); | 626 return RespondLater(); |
627 } | 627 } |
628 | 628 |
629 void EnterprisePlatformKeysPrivateChallengeUserKeyFunction::OnChallengedKey( | 629 void EnterprisePlatformKeysPrivateChallengeUserKeyFunction::OnChallengedKey( |
630 bool success, | 630 bool success, |
631 const std::string& data) { | 631 const std::string& data) { |
632 if (success) { | 632 if (success) { |
633 std::string encoded_response; | 633 std::string encoded_response; |
634 base::Base64Encode(data, &encoded_response); | 634 base::Base64Encode(data, &encoded_response); |
635 Respond(ArgumentList( | 635 Respond(ArgumentList( |
636 api_epkp::ChallengeUserKey::Results::Create(encoded_response))); | 636 api_epkp::ChallengeUserKey::Results::Create(encoded_response))); |
637 } else { | 637 } else { |
638 Respond(Error(data)); | 638 Respond(Error(data)); |
639 } | 639 } |
640 } | 640 } |
641 | 641 |
642 } // namespace extensions | 642 } // namespace extensions |
OLD | NEW |