1 // Copyright 2015 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_SECURE_MESSAGE_DELEGATE_CHROMEOS_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_SECURE_MESSAGE_DELEGATE_CHROMEOS_H_
8 #include "base/macros.h"
9 #include "components/proximity_auth/cryptauth/secure_message_delegate.h"
13 class EasyUnlockClient
;
15 // SecureMessageDelegate implementation for ChromeOS.
16 class SecureMessageDelegateChromeOS
17 : public proximity_auth::SecureMessageDelegate
{
19 SecureMessageDelegateChromeOS();
20 ~SecureMessageDelegateChromeOS() override
;
22 // SecureMessageDelegate:
23 void GenerateKeyPair(const GenerateKeyPairCallback
& callback
) override
;
24 void DeriveKey(const std::string
& private_key
,
25 const std::string
& public_key
,
26 const DeriveKeyCallback
& callback
) override
;
27 void CreateSecureMessage(
28 const std::string
& payload
,
29 const std::string
& key
,
30 const CreateOptions
& create_options
,
31 const CreateSecureMessageCallback
& callback
) override
;
32 void UnwrapSecureMessage(
33 const std::string
& serialized_message
,
34 const std::string
& key
,
35 const UnwrapOptions
& unwrap_options
,
36 const UnwrapSecureMessageCallback
& callback
) override
;
39 chromeos::EasyUnlockClient
* dbus_client_
;
41 DISALLOW_COPY_AND_ASSIGN(SecureMessageDelegateChromeOS
);
44 } // namespace chromeos
46 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_EASY_UNLOCK_SECURE_MESSAGE_DELEGATE_CHROMEOS_H_