| Index: components/os_crypt/key_storage_linux.h
|
| diff --git a/components/os_crypt/key_storage_linux.h b/components/os_crypt/key_storage_linux.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0f8449178b8f6fbdac2bad8285c863d339d31317
|
| --- /dev/null
|
| +++ b/components/os_crypt/key_storage_linux.h
|
| @@ -0,0 +1,36 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_
|
| +#define COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_
|
| +
|
| +#include <memory>
|
| +#include <string>
|
| +
|
| +#include "base/macros.h"
|
| +
|
| +// An API for retrieving OSCrypt's password from the system's password storage
|
| +// service.
|
| +class KeyStorageLinux {
|
| + public:
|
| + KeyStorageLinux() = default;
|
| + virtual ~KeyStorageLinux() = default;
|
| +
|
| + // Tries to load all known key storages. Returns the first that succeeds or
|
| + // null if none succeed.
|
| + static std::unique_ptr<KeyStorageLinux> CreateService();
|
| +
|
| + // Gets the encryption key from the OS password-managing library. If a key is
|
| + // not found, a new key will be generated, stored and returned.
|
| + virtual std::string GetKey() = 0;
|
| +
|
| + protected:
|
| + // Loads the key storage. Returns false if the service is not available.
|
| + virtual bool Init() = 0;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(KeyStorageLinux);
|
| +};
|
| +
|
| +#endif // COMPONENTS_OS_CRYPT_KEY_STORAGE_LINUX_H_
|
|
|