1// 2// Copyright (C) 2015 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17#include "attestation/common/mock_crypto_utility.h" 18 19using ::testing::_; 20using ::testing::Invoke; 21using ::testing::Return; 22using ::testing::WithArgs; 23 24namespace { 25 26bool FakeRandom(size_t num_bytes, std::string* output) { 27 *output = std::string(num_bytes, 'A'); 28 return true; 29} 30 31bool CopyString(const std::string& s1, std::string* s2) { 32 *s2 = s1; 33 return true; 34} 35 36} // namespace 37 38namespace attestation { 39 40MockCryptoUtility::MockCryptoUtility() { 41 ON_CALL(*this, GetRandom(_, _)).WillByDefault(Invoke(FakeRandom)); 42 ON_CALL(*this, CreateSealedKey(_, _)).WillByDefault(Return(true)); 43 ON_CALL(*this, UnsealKey(_, _, _)).WillByDefault(Return(true)); 44 ON_CALL(*this, EncryptData(_, _, _, _)) 45 .WillByDefault(WithArgs<0, 3>(Invoke(CopyString))); 46 ON_CALL(*this, DecryptData(_, _, _)) 47 .WillByDefault(WithArgs<0, 2>(Invoke(CopyString))); 48 ON_CALL(*this, GetRSASubjectPublicKeyInfo(_, _)) 49 .WillByDefault(Invoke(CopyString)); 50} 51 52MockCryptoUtility::~MockCryptoUtility() {} 53 54} // namespace attestation 55