| // |
| // Copyright (C) 2014 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| // |
| |
| #ifndef TRUNKS_MOCK_TPM_UTILITY_H_ |
| #define TRUNKS_MOCK_TPM_UTILITY_H_ |
| |
| #include <string> |
| |
| #include <gmock/gmock.h> |
| |
| #include "trunks/tpm_utility.h" |
| |
| namespace trunks { |
| |
| class MockTpmUtility : public TpmUtility { |
| public: |
| MockTpmUtility(); |
| ~MockTpmUtility() override; |
| |
| MOCK_METHOD0(Startup, TPM_RC()); |
| MOCK_METHOD0(Clear, TPM_RC()); |
| MOCK_METHOD0(Shutdown, void()); |
| MOCK_METHOD0(InitializeTpm, TPM_RC()); |
| MOCK_METHOD1(AllocatePCR, TPM_RC(const std::string&)); |
| MOCK_METHOD3(TakeOwnership, |
| TPM_RC(const std::string&, |
| const std::string&, |
| const std::string&)); |
| MOCK_METHOD2(StirRandom, TPM_RC(const std::string&, AuthorizationDelegate*)); |
| MOCK_METHOD3(GenerateRandom, |
| TPM_RC(size_t, AuthorizationDelegate*, std::string*)); |
| MOCK_METHOD3(ExtendPCR, |
| TPM_RC(int, const std::string&, AuthorizationDelegate*)); |
| MOCK_METHOD2(ReadPCR, TPM_RC(int, std::string*)); |
| MOCK_METHOD6(AsymmetricEncrypt, |
| TPM_RC(TPM_HANDLE, |
| TPM_ALG_ID, |
| TPM_ALG_ID, |
| const std::string&, |
| AuthorizationDelegate*, |
| std::string*)); |
| MOCK_METHOD6(AsymmetricDecrypt, |
| TPM_RC(TPM_HANDLE, |
| TPM_ALG_ID, |
| TPM_ALG_ID, |
| const std::string&, |
| AuthorizationDelegate*, |
| std::string*)); |
| MOCK_METHOD6(Sign, |
| TPM_RC(TPM_HANDLE, |
| TPM_ALG_ID, |
| TPM_ALG_ID, |
| const std::string&, |
| AuthorizationDelegate*, |
| std::string*)); |
| MOCK_METHOD6(Verify, |
| TPM_RC(TPM_HANDLE, |
| TPM_ALG_ID, |
| TPM_ALG_ID, |
| const std::string&, |
| const std::string&, |
| AuthorizationDelegate*)); |
| MOCK_METHOD2(CertifyCreation, TPM_RC(TPM_HANDLE, const std::string&)); |
| MOCK_METHOD4(ChangeKeyAuthorizationData, |
| TPM_RC(TPM_HANDLE, |
| const std::string&, |
| AuthorizationDelegate*, |
| std::string*)); |
| MOCK_METHOD7(ImportRSAKey, |
| TPM_RC(AsymmetricKeyUsage, |
| const std::string&, |
| uint32_t, |
| const std::string&, |
| const std::string&, |
| AuthorizationDelegate*, |
| std::string*)); |
| MOCK_METHOD10(CreateRSAKeyPair, |
| TPM_RC(AsymmetricKeyUsage, |
| int, |
| uint32_t, |
| const std::string&, |
| const std::string&, |
| bool, |
| int, |
| AuthorizationDelegate*, |
| std::string*, |
| std::string*)); |
| MOCK_METHOD3(LoadKey, |
| TPM_RC(const std::string&, AuthorizationDelegate*, TPM_HANDLE*)); |
| MOCK_METHOD2(GetKeyName, TPM_RC(TPM_HANDLE, std::string*)); |
| MOCK_METHOD2(GetKeyPublicArea, TPM_RC(TPM_HANDLE, TPMT_PUBLIC*)); |
| MOCK_METHOD4(SealData, |
| TPM_RC(const std::string&, |
| const std::string&, |
| AuthorizationDelegate*, |
| std::string*)); |
| MOCK_METHOD3(UnsealData, |
| TPM_RC(const std::string&, |
| AuthorizationDelegate*, |
| std::string*)); |
| MOCK_METHOD1(StartSession, TPM_RC(HmacSession*)); |
| MOCK_METHOD3(GetPolicyDigestForPcrValue, |
| TPM_RC(int, const std::string&, std::string*)); |
| MOCK_METHOD6(DefineNVSpace, |
| TPM_RC(uint32_t, |
| size_t, |
| TPMA_NV, |
| const std::string&, |
| const std::string&, |
| AuthorizationDelegate*)); |
| MOCK_METHOD2(DestroyNVSpace, TPM_RC(uint32_t, AuthorizationDelegate*)); |
| MOCK_METHOD5(LockNVSpace, |
| TPM_RC(uint32_t, bool, bool, bool, AuthorizationDelegate*)); |
| MOCK_METHOD6(WriteNVSpace, |
| TPM_RC(uint32_t, |
| uint32_t, |
| const std::string&, |
| bool, |
| bool, |
| AuthorizationDelegate*)); |
| MOCK_METHOD6(ReadNVSpace, |
| TPM_RC(uint32_t, |
| uint32_t, |
| size_t, |
| bool, |
| std::string*, |
| AuthorizationDelegate*)); |
| MOCK_METHOD2(GetNVSpaceName, TPM_RC(uint32_t, std::string*)); |
| MOCK_METHOD2(GetNVSpacePublicArea, TPM_RC(uint32_t, TPMS_NV_PUBLIC*)); |
| MOCK_METHOD1(ListNVSpaces, TPM_RC(std::vector<uint32_t>*)); |
| MOCK_METHOD4(SetDictionaryAttackParameters, |
| TPM_RC(uint32_t, uint32_t, uint32_t, AuthorizationDelegate*)); |
| MOCK_METHOD1(ResetDictionaryAttackLock, TPM_RC(AuthorizationDelegate*)); |
| }; |
| |
| } // namespace trunks |
| |
| #endif // TRUNKS_MOCK_TPM_UTILITY_H_ |