• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef CHROMEOS_DBUS_FAKE_EASY_UNLOCK_CLIENT_H_
6 #define CHROMEOS_DBUS_FAKE_EASY_UNLOCK_CLIENT_H_
7 
8 #include <string>
9 
10 #include "chromeos/dbus/easy_unlock_client.h"
11 
12 namespace chromeos {
13 
14 // A fake implemetation of EasyUnlockClient.
15 class CHROMEOS_EXPORT FakeEasyUnlockClient : public EasyUnlockClient {
16  public:
17   // Tests if the provided keys belong to the same (fake) EC P256 key pair
18   // generated by |this|.
19   static bool IsEcP256KeyPair(const std::string& private_key,
20                               const std::string& public_key);
21 
22   FakeEasyUnlockClient();
23   virtual ~FakeEasyUnlockClient();
24 
25   // EasyUnlockClient overrides
26   virtual void Init(dbus::Bus* bus) OVERRIDE;
27   virtual void GenerateEcP256KeyPair(const KeyPairCallback& callback) OVERRIDE;
28   virtual void PerformECDHKeyAgreement(const std::string& private_key,
29                                        const std::string& public_key,
30                                        const DataCallback& callback) OVERRIDE;
31   virtual void CreateSecureMessage(const std::string& payload,
32                                    const CreateSecureMessageOptions& options,
33                                    const DataCallback& callback) OVERRIDE;
34   virtual void UnwrapSecureMessage(const std::string& message,
35                                    const UnwrapSecureMessageOptions& options,
36                                    const DataCallback& callback) OVERRIDE;
37 
38  private:
39   int generated_keys_count_;
40 
41   DISALLOW_COPY_AND_ASSIGN(FakeEasyUnlockClient);
42 };
43 
44 }  // namespace chromeos
45 
46 #endif  // CHROMEOS_DBUS_FAKE_EASY_UNLOCK_CLIENT_H_
47