| // Copyright 2015 The Chromium OS 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 "attestation/common/mock_crypto_utility.h" |
| |
| using ::testing::_; |
| using ::testing::Invoke; |
| using ::testing::Return; |
| using ::testing::WithArgs; |
| |
| namespace { |
| |
| bool FakeRandom(size_t num_bytes, std::string* output) { |
| *output = std::string(num_bytes, 'A'); |
| return true; |
| } |
| |
| bool CopyString(const std::string& s1, std::string* s2) { |
| *s2 = s1; |
| return true; |
| } |
| |
| } // namespace |
| |
| namespace attestation { |
| |
| MockCryptoUtility::MockCryptoUtility() { |
| ON_CALL(*this, GetRandom(_, _)).WillByDefault(Invoke(FakeRandom)); |
| ON_CALL(*this, CreateSealedKey(_, _)).WillByDefault(Return(true)); |
| ON_CALL(*this, UnsealKey(_, _, _)).WillByDefault(Return(true)); |
| ON_CALL(*this, EncryptData(_, _, _, _)) |
| .WillByDefault(WithArgs<0, 3>(Invoke(CopyString))); |
| ON_CALL(*this, DecryptData(_, _, _)) |
| .WillByDefault(WithArgs<0, 2>(Invoke(CopyString))); |
| ON_CALL(*this, GetRSASubjectPublicKeyInfo(_, _)) |
| .WillByDefault(Invoke(CopyString)); |
| ON_CALL(*this, GetRSAPublicKey(_, _)).WillByDefault(Invoke(CopyString)); |
| ON_CALL(*this, EncryptIdentityCredential(_, _, _, _, _)) |
| .WillByDefault(Return(true)); |
| ON_CALL(*this, DecryptIdentityCertificateForTpm2(_, _, _)) |
| .WillByDefault(WithArgs<0, 2>(Invoke(CopyString))); |
| ON_CALL(*this, EncryptDataForGoogle(_, _, _, _)).WillByDefault(Return(true)); |
| ON_CALL(*this, HmacSha256(_, _)).WillByDefault(Return(std::string(32, '\0'))); |
| ON_CALL(*this, HmacSha512(_, _)).WillByDefault(Return(std::string(64, '\0'))); |
| } |
| |
| MockCryptoUtility::~MockCryptoUtility() {} |
| |
| } // namespace attestation |