blob: c5df786fac99195a204a1a8710f5c079f5d0cb05 [file] [log] [blame]
// Copyright (c) 2013 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.
#include "chromeos/dbus/fake_cryptohome_client.h"
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
namespace chromeos {
namespace {
// A fake system salt. GetSystemSalt copies it to the given buffer.
const char kStubSystemSalt[] = "stub_system_salt";
} // namespace
FakeCryptohomeClient::FakeCryptohomeClient() : unmount_result_(false) {
}
FakeCryptohomeClient::~FakeCryptohomeClient() {
}
void FakeCryptohomeClient::TpmIsBeingOwned(
const BoolDBusMethodCallback& callback) {
}
bool FakeCryptohomeClient::Unmount(bool* success) {
*success = unmount_result_;
return true;
}
void FakeCryptohomeClient::AsyncCheckKey(const std::string& username,
const std::string& key,
const AsyncMethodCallback& callback) {
}
bool FakeCryptohomeClient::InstallAttributesIsInvalid(bool* is_invalid) {
return false;
}
void FakeCryptohomeClient::TpmAttestationGetKeyPayload(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const DataMethodCallback& callback) {
}
void FakeCryptohomeClient::AsyncTpmAttestationFinishCertRequest(
const std::string& pca_response,
attestation::AttestationKeyType key_type,
const std::string& key_name,
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmIsEnabled(
const BoolDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::AsyncTpmAttestationEnroll(
const std::string& pca_response,
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::AsyncMigrateKey(
const std::string& username,
const std::string& from_key,
const std::string& to_key,
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::IsMounted(const BoolDBusMethodCallback& callback) {
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(callback,
DBUS_METHOD_CALL_SUCCESS, true));
}
bool FakeCryptohomeClient::InstallAttributesGet(const std::string& name,
std::vector<uint8>* value,
bool* successful) {
return false;
}
void FakeCryptohomeClient::AsyncMount(const std::string& username,
const std::string& key, int flags,
const AsyncMethodCallback& callback) {
DCHECK(!callback.is_null());
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(callback, 1 /* async_id */));
if (!handler_.is_null())
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(handler_,
1, // async_id
true, // return_status
cryptohome::MOUNT_ERROR_NONE));
}
void FakeCryptohomeClient::AsyncAddKey(const std::string& username,
const std::string& key,
const std::string& new_key,
const AsyncMethodCallback& callback) {
DCHECK(!callback.is_null());
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(callback, 1 /* async_id */));
if (!handler_.is_null())
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(handler_,
1, // async_id
true, // return_status
cryptohome::MOUNT_ERROR_NONE));
}
void FakeCryptohomeClient::AsyncMountGuest(
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::AsyncMountPublic(
const std::string& public_mount_id,
int flags,
const AsyncMethodCallback& callback) {
}
bool FakeCryptohomeClient::CallTpmIsBeingOwnedAndBlock(bool* owning) {
return false;
}
void FakeCryptohomeClient::Pkcs11IsTpmTokenReady(
const BoolDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmClearStoredPassword(
const VoidDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmCanAttemptOwnership(
const VoidDBusMethodCallback& callback) {
}
bool FakeCryptohomeClient::GetSystemSalt(std::vector<uint8>* salt) {
salt->assign(kStubSystemSalt,
kStubSystemSalt + arraysize(kStubSystemSalt) - 1);
return true;
}
void FakeCryptohomeClient::TpmGetPassword(
const StringDBusMethodCallback& callback) {
}
bool FakeCryptohomeClient::InstallAttributesFinalize(bool* successful) {
return false;
}
void FakeCryptohomeClient::SetAsyncCallStatusHandlers(
const AsyncCallStatusHandler& handler,
const AsyncCallStatusWithDataHandler& data_handler) {
handler_ = handler;
data_handler_ = data_handler;
}
bool FakeCryptohomeClient::CallTpmIsEnabledAndBlock(bool* enabled) {
return false;
}
bool FakeCryptohomeClient::InstallAttributesSet(
const std::string& name,
const std::vector<uint8>& value,
bool* successful) {
return false;
}
bool FakeCryptohomeClient::InstallAttributesIsFirstInstall(
bool* is_first_install) {
return false;
}
void FakeCryptohomeClient::TpmAttestationGetCertificate(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const DataMethodCallback& callback) {
}
void FakeCryptohomeClient::InstallAttributesIsReady(
const BoolDBusMethodCallback& callback) {
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(callback,
DBUS_METHOD_CALL_SUCCESS, true));
}
void FakeCryptohomeClient::TpmAttestationGetPublicKey(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const DataMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmAttestationSignSimpleChallenge(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const std::string& challenge,
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::Pkcs11GetTpmTokenInfo(
const Pkcs11GetTpmTokenInfoCallback& callback) {
}
void FakeCryptohomeClient::TpmIsOwned(const BoolDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmAttestationIsPrepared(
const BoolDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmIsReady(const BoolDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::AsyncTpmAttestationCreateEnrollRequest(
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::ResetAsyncCallStatusHandlers() {
handler_.Reset();
data_handler_.Reset();
}
void FakeCryptohomeClient::TpmAttestationDoesKeyExist(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const BoolDBusMethodCallback& callback) {
}
bool FakeCryptohomeClient::CallTpmIsOwnedAndBlock(bool* owned) {
return false;
}
void FakeCryptohomeClient::AsyncRemove(const std::string& username,
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmAttestationSetKeyPayload(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const std::string& payload,
const BoolDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::GetSanitizedUsername(
const std::string& username,
const StringDBusMethodCallback& callback) {
DCHECK(!callback.is_null());
base::MessageLoop::current()->PostTask(
FROM_HERE,
base::Bind(callback,
chromeos::DBUS_METHOD_CALL_SUCCESS,
username));
if (!data_handler_.is_null())
base::MessageLoop::current()->PostTask(
FROM_HERE,
base::Bind(data_handler_,
1, // async_id
true, // return_status
username));
}
std::string FakeCryptohomeClient::BlockingGetSanitizedUsername(
const std::string& username) {
return username;
}
void FakeCryptohomeClient::TpmAttestationSignEnterpriseChallenge(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const std::string& domain,
const std::string& device_id,
attestation::AttestationChallengeOptions options,
const std::string& challenge,
const AsyncMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmAttestationIsEnrolled(
const BoolDBusMethodCallback& callback) {
}
void FakeCryptohomeClient::TpmAttestationRegisterKey(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const AsyncMethodCallback& callback) {
}
bool FakeCryptohomeClient::CallTpmClearStoredPasswordAndBlock() {
return false;
}
void FakeCryptohomeClient::AsyncTpmAttestationCreateCertRequest(
attestation::AttestationCertificateProfile certificate_profile,
const std::string& user_email,
const std::string& request_origin,
const AsyncMethodCallback& callback) {
}
} // namespace chromeos