blob: f8f0504e985a602c767c8078b5eb44e708134de0 [file] [log] [blame]
cfroussios3b5a4e42016-05-31 11:02:181// Copyright 2016 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#include "components/os_crypt/os_crypt_mocker_linux.h"
6
Christos Froussios494196d2017-07-14 10:10:047#include <memory>
8
cfroussios3b5a4e42016-05-31 11:02:189#include "base/base64.h"
10#include "base/lazy_instance.h"
Christos Froussios494196d2017-07-14 10:10:0411#include "base/memory/ptr_util.h"
cfroussios3b5a4e42016-05-31 11:02:1812#include "base/rand_util.h"
Christos Froussios494196d2017-07-14 10:10:0413#include "components/os_crypt/key_storage_config_linux.h"
cfroussios3b5a4e42016-05-31 11:02:1814#include "components/os_crypt/os_crypt.h"
15
16namespace {
17
Christos Froussios2d15a8e2017-07-21 16:30:3418std::unique_ptr<KeyStorageLinux> CreateNewMock() {
19 return base::MakeUnique<OSCryptMockerLinux>();
cfroussios3b5a4e42016-05-31 11:02:1820}
21
cfroussios3b5a4e42016-05-31 11:02:1822}
23
cfroussios3b5a4e42016-05-31 11:02:1824std::string OSCryptMockerLinux::GetKey() {
cfroussios3b5a4e42016-05-31 11:02:1825 return key_;
26}
27
cfroussios3b5a4e42016-05-31 11:02:1828std::string* OSCryptMockerLinux::GetKeyPtr() {
29 return &key_;
30}
31
32// static
Christos Froussios2d15a8e2017-07-21 16:30:3433void OSCryptMockerLinux::SetUp() {
34 UseMockKeyStorageForTesting(
35 &CreateNewMock, nullptr /* get the key from the provider above */);
Christos Froussios494196d2017-07-14 10:10:0436 OSCrypt::SetConfig(base::MakeUnique<os_crypt::Config>());
cfroussios3b5a4e42016-05-31 11:02:1837}
38
39// static
40void OSCryptMockerLinux::TearDown() {
41 UseMockKeyStorageForTesting(nullptr, nullptr);
cfroussiosf29e6722017-05-10 11:23:1742 ClearCacheForTesting();
cfroussios3b5a4e42016-05-31 11:02:1843}
Christos Froussios2d15a8e2017-07-21 16:30:3444
45bool OSCryptMockerLinux::Init() {
46 key_ = "the_encryption_key";
47 return true;
48}