| OLD | NEW | 
|   1 // Copyright 2016 The Chromium Authors. All rights reserved. |   1 // Copyright 2016 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 #ifndef COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_ |   5 #ifndef COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_ | 
|   6 #define COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_ |   6 #define COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_ | 
|   7  |   7  | 
|   8 #include <memory> |   8 #include <memory> | 
|   9 #include <string> |   9 #include <string> | 
|  10  |  10  | 
|  11 #include "base/macros.h" |  11 #include "base/macros.h" | 
|  12  |  12  | 
|  13 // An API for retrieving OSCrypt's password from the system's password storage |  13 // An API for retrieving OSCrypt's password from the system's password storage | 
|  14 // service. |  14 // service. | 
|  15 class KeyStorageLinux { |  15 class KeyStorageLinux { | 
|  16  public: |  16  public: | 
|  17   KeyStorageLinux() = default; |  17   KeyStorageLinux() = default; | 
|  18   virtual ~KeyStorageLinux() = default; |  18   virtual ~KeyStorageLinux() = default; | 
|  19  |  19  | 
|  20   // Tries to load all known key storages. Returns the first that succeeds or |  20   // Force OSCrypt to use a specific linux password store. | 
|  21   // null if none succeed. |  21   static void SetStore(const std::string& store_type); | 
 |  22  | 
 |  23   // Tries to load the appropriate key storage. Returns null if none succeed. | 
|  22   static std::unique_ptr<KeyStorageLinux> CreateService(); |  24   static std::unique_ptr<KeyStorageLinux> CreateService(); | 
|  23  |  25  | 
|  24   // Gets the encryption key from the OS password-managing library. If a key is |  26   // Gets the encryption key from the OS password-managing library. If a key is | 
|  25   // not found, a new key will be generated, stored and returned. |  27   // not found, a new key will be generated, stored and returned. | 
|  26   virtual std::string GetKey() = 0; |  28   virtual std::string GetKey() = 0; | 
|  27  |  29  | 
|  28  protected: |  30  protected: | 
|  29   // Loads the key storage. Returns false if the service is not available. |  31   // Loads the key storage. Returns false if the service is not available. | 
|  30   virtual bool Init() = 0; |  32   virtual bool Init() = 0; | 
|  31  |  33  | 
|  32  private: |  34  private: | 
|  33   DISALLOW_COPY_AND_ASSIGN(KeyStorageLinux); |  35   DISALLOW_COPY_AND_ASSIGN(KeyStorageLinux); | 
|  34 }; |  36 }; | 
|  35  |  37  | 
|  36 #endif  // COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_ |  38 #endif  // COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_ | 
| OLD | NEW |