Home | History | Annotate | Download | only in dbus
      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