// // 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_H_ #define TRUNKS_MOCK_TPM_H_ #include <string> #include <base/callback.h> #include <gmock/gmock.h> #include "trunks/tpm_generated.h" namespace trunks { class MockTpm : public Tpm { public: MockTpm(); ~MockTpm() override; MOCK_METHOD3(Startup, void(const TPM_SU& startup_type, AuthorizationDelegate* authorization_delegate, const StartupResponse& callback)); MOCK_METHOD2(StartupSync, TPM_RC(const TPM_SU& startup_type, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(Shutdown, void(const TPM_SU& shutdown_type, AuthorizationDelegate* authorization_delegate, const ShutdownResponse& callback)); MOCK_METHOD2(ShutdownSync, TPM_RC(const TPM_SU& shutdown_type, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(SelfTest, void(const TPMI_YES_NO& full_test, AuthorizationDelegate* authorization_delegate, const SelfTestResponse& callback)); MOCK_METHOD2(SelfTestSync, TPM_RC(const TPMI_YES_NO& full_test, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(IncrementalSelfTest, void(const TPML_ALG& to_test, AuthorizationDelegate* authorization_delegate, const IncrementalSelfTestResponse& callback)); MOCK_METHOD3(IncrementalSelfTestSync, TPM_RC(const TPML_ALG& to_test, TPML_ALG* to_do_list, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD2(GetTestResult, void(AuthorizationDelegate* authorization_delegate, const GetTestResultResponse& callback)); MOCK_METHOD3(GetTestResultSync, TPM_RC(TPM2B_MAX_BUFFER* out_data, TPM_RC* test_result, AuthorizationDelegate* authorization_delegate)); // Too many args to mock, forward to *Short version. void StartAuthSession(const TPMI_DH_OBJECT& tpm_key, const std::string& tpm_key_name, const TPMI_DH_ENTITY& bind, const std::string& bind_name, const TPM2B_NONCE& nonce_caller, const TPM2B_ENCRYPTED_SECRET& encrypted_salt, const TPM_SE& session_type, const TPMT_SYM_DEF& symmetric, const TPMI_ALG_HASH& auth_hash, AuthorizationDelegate* authorization_delegate, const StartAuthSessionResponse& callback) override; MOCK_METHOD9(StartAuthSessionShort, void(const TPMI_DH_OBJECT& tpm_key, const TPMI_DH_ENTITY& bind, const TPM2B_NONCE& nonce_caller, const TPM2B_ENCRYPTED_SECRET& encrypted_salt, const TPM_SE& session_type, const TPMT_SYM_DEF& symmetric, const TPMI_ALG_HASH& auth_hash, AuthorizationDelegate* authorization_delegate, const StartAuthSessionResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC StartAuthSessionSync( const TPMI_DH_OBJECT& tpm_key, const std::string& tpm_key_name, const TPMI_DH_ENTITY& bind, const std::string& bind_name, const TPM2B_NONCE& nonce_caller, const TPM2B_ENCRYPTED_SECRET& encrypted_salt, const TPM_SE& session_type, const TPMT_SYM_DEF& symmetric, const TPMI_ALG_HASH& auth_hash, TPMI_SH_AUTH_SESSION* session_handle, TPM2B_NONCE* nonce_tpm, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD10(StartAuthSessionSyncShort, TPM_RC(const TPMI_DH_OBJECT& tpm_key, const TPMI_DH_ENTITY& bind, const TPM2B_NONCE& nonce_caller, const TPM2B_ENCRYPTED_SECRET& encrypted_salt, const TPM_SE& session_type, const TPMT_SYM_DEF& symmetric, const TPMI_ALG_HASH& auth_hash, TPMI_SH_AUTH_SESSION* session_handle, TPM2B_NONCE* nonce_tpm, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(PolicyRestart, void(const TPMI_SH_POLICY& session_handle, const std::string& session_handle_name, AuthorizationDelegate* authorization_delegate, const PolicyRestartResponse& callback)); MOCK_METHOD3(PolicyRestartSync, TPM_RC(const TPMI_SH_POLICY& session_handle, const std::string& session_handle_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(Create, void(const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_SENSITIVE_CREATE& in_sensitive, const TPM2B_PUBLIC& in_public, const TPM2B_DATA& outside_info, const TPML_PCR_SELECTION& creation_pcr, AuthorizationDelegate* authorization_delegate, const CreateResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC CreateSync(const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_SENSITIVE_CREATE& in_sensitive, const TPM2B_PUBLIC& in_public, const TPM2B_DATA& outside_info, const TPML_PCR_SELECTION& creation_pcr, TPM2B_PRIVATE* out_private, TPM2B_PUBLIC* out_public, TPM2B_CREATION_DATA* creation_data, TPM2B_DIGEST* creation_hash, TPMT_TK_CREATION* creation_ticket, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD10(CreateSyncShort, TPM_RC(const TPMI_DH_OBJECT& parent_handle, const TPM2B_SENSITIVE_CREATE& in_sensitive, const TPM2B_PUBLIC& in_public, const TPML_PCR_SELECTION& creation_pcr, TPM2B_PRIVATE* out_private, TPM2B_PUBLIC* out_public, TPM2B_CREATION_DATA* creation_data, TPM2B_DIGEST* creation_hash, TPMT_TK_CREATION* creation_ticket, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(Load, void(const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_PRIVATE& in_private, const TPM2B_PUBLIC& in_public, AuthorizationDelegate* authorization_delegate, const LoadResponse& callback)); MOCK_METHOD7(LoadSync, TPM_RC(const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_PRIVATE& in_private, const TPM2B_PUBLIC& in_public, TPM_HANDLE* object_handle, TPM2B_NAME* name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(LoadExternal, void(const TPM2B_SENSITIVE& in_private, const TPM2B_PUBLIC& in_public, const TPMI_RH_HIERARCHY& hierarchy, AuthorizationDelegate* authorization_delegate, const LoadExternalResponse& callback)); MOCK_METHOD6(LoadExternalSync, TPM_RC(const TPM2B_SENSITIVE& in_private, const TPM2B_PUBLIC& in_public, const TPMI_RH_HIERARCHY& hierarchy, TPM_HANDLE* object_handle, TPM2B_NAME* name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(ReadPublic, void(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, AuthorizationDelegate* authorization_delegate, const ReadPublicResponse& callback)); MOCK_METHOD6(ReadPublicSync, TPM_RC(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, TPM2B_PUBLIC* out_public, TPM2B_NAME* name, TPM2B_NAME* qualified_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(ActivateCredential, void(const TPMI_DH_OBJECT& activate_handle, const std::string& activate_handle_name, const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_ID_OBJECT& credential_blob, const TPM2B_ENCRYPTED_SECRET& secret, AuthorizationDelegate* authorization_delegate, const ActivateCredentialResponse& callback)); MOCK_METHOD8(ActivateCredentialSync, TPM_RC(const TPMI_DH_OBJECT& activate_handle, const std::string& activate_handle_name, const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_ID_OBJECT& credential_blob, const TPM2B_ENCRYPTED_SECRET& secret, TPM2B_DIGEST* cert_info, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(MakeCredential, void(const TPMI_DH_OBJECT& handle, const std::string& handle_name, const TPM2B_DIGEST& credential, const TPM2B_NAME& object_name, AuthorizationDelegate* authorization_delegate, const MakeCredentialResponse& callback)); MOCK_METHOD7(MakeCredentialSync, TPM_RC(const TPMI_DH_OBJECT& handle, const std::string& handle_name, const TPM2B_DIGEST& credential, const TPM2B_NAME& object_name, TPM2B_ID_OBJECT* credential_blob, TPM2B_ENCRYPTED_SECRET* secret, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(Unseal, void(const TPMI_DH_OBJECT& item_handle, const std::string& item_handle_name, AuthorizationDelegate* authorization_delegate, const UnsealResponse& callback)); MOCK_METHOD4(UnsealSync, TPM_RC(const TPMI_DH_OBJECT& item_handle, const std::string& item_handle_name, TPM2B_SENSITIVE_DATA* out_data, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(ObjectChangeAuth, void(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_AUTH& new_auth, AuthorizationDelegate* authorization_delegate, const ObjectChangeAuthResponse& callback)); MOCK_METHOD7(ObjectChangeAuthSync, TPM_RC(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_AUTH& new_auth, TPM2B_PRIVATE* out_private, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(Duplicate, void(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_OBJECT& new_parent_handle, const std::string& new_parent_handle_name, const TPM2B_DATA& encryption_key_in, const TPMT_SYM_DEF_OBJECT& symmetric_alg, AuthorizationDelegate* authorization_delegate, const DuplicateResponse& callback)); MOCK_METHOD10(DuplicateSync, TPM_RC(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_OBJECT& new_parent_handle, const std::string& new_parent_handle_name, const TPM2B_DATA& encryption_key_in, const TPMT_SYM_DEF_OBJECT& symmetric_alg, TPM2B_DATA* encryption_key_out, TPM2B_PRIVATE* duplicate, TPM2B_ENCRYPTED_SECRET* out_sym_seed, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD9(Rewrap, void(const TPMI_DH_OBJECT& old_parent, const std::string& old_parent_name, const TPMI_DH_OBJECT& new_parent, const std::string& new_parent_name, const TPM2B_PRIVATE& in_duplicate, const TPM2B_NAME& name, const TPM2B_ENCRYPTED_SECRET& in_sym_seed, AuthorizationDelegate* authorization_delegate, const RewrapResponse& callback)); MOCK_METHOD10(RewrapSync, TPM_RC(const TPMI_DH_OBJECT& old_parent, const std::string& old_parent_name, const TPMI_DH_OBJECT& new_parent, const std::string& new_parent_name, const TPM2B_PRIVATE& in_duplicate, const TPM2B_NAME& name, const TPM2B_ENCRYPTED_SECRET& in_sym_seed, TPM2B_PRIVATE* out_duplicate, TPM2B_ENCRYPTED_SECRET* out_sym_seed, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD9(Import, void(const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_DATA& encryption_key, const TPM2B_PUBLIC& object_public, const TPM2B_PRIVATE& duplicate, const TPM2B_ENCRYPTED_SECRET& in_sym_seed, const TPMT_SYM_DEF_OBJECT& symmetric_alg, AuthorizationDelegate* authorization_delegate, const ImportResponse& callback)); MOCK_METHOD9(ImportSync, TPM_RC(const TPMI_DH_OBJECT& parent_handle, const std::string& parent_handle_name, const TPM2B_DATA& encryption_key, const TPM2B_PUBLIC& object_public, const TPM2B_PRIVATE& duplicate, const TPM2B_ENCRYPTED_SECRET& in_sym_seed, const TPMT_SYM_DEF_OBJECT& symmetric_alg, TPM2B_PRIVATE* out_private, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(RSA_Encrypt, void(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_PUBLIC_KEY_RSA& message, const TPMT_RSA_DECRYPT& in_scheme, const TPM2B_DATA& label, AuthorizationDelegate* authorization_delegate, const RSA_EncryptResponse& callback)); MOCK_METHOD7(RSA_EncryptSync, TPM_RC(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_PUBLIC_KEY_RSA& message, const TPMT_RSA_DECRYPT& in_scheme, const TPM2B_DATA& label, TPM2B_PUBLIC_KEY_RSA* out_data, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(RSA_Decrypt, void(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_PUBLIC_KEY_RSA& cipher_text, const TPMT_RSA_DECRYPT& in_scheme, const TPM2B_DATA& label, AuthorizationDelegate* authorization_delegate, const RSA_DecryptResponse& callback)); MOCK_METHOD7(RSA_DecryptSync, TPM_RC(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_PUBLIC_KEY_RSA& cipher_text, const TPMT_RSA_DECRYPT& in_scheme, const TPM2B_DATA& label, TPM2B_PUBLIC_KEY_RSA* message, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(ECDH_KeyGen, void(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, AuthorizationDelegate* authorization_delegate, const ECDH_KeyGenResponse& callback)); MOCK_METHOD5(ECDH_KeyGenSync, TPM_RC(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, TPM2B_ECC_POINT* z_point, TPM2B_ECC_POINT* pub_point, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(ECDH_ZGen, void(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_ECC_POINT& in_point, AuthorizationDelegate* authorization_delegate, const ECDH_ZGenResponse& callback)); MOCK_METHOD5(ECDH_ZGenSync, TPM_RC(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_ECC_POINT& in_point, TPM2B_ECC_POINT* out_point, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(ECC_Parameters, void(const TPMI_ECC_CURVE& curve_id, AuthorizationDelegate* authorization_delegate, const ECC_ParametersResponse& callback)); MOCK_METHOD3(ECC_ParametersSync, TPM_RC(const TPMI_ECC_CURVE& curve_id, TPMS_ALGORITHM_DETAIL_ECC* parameters, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(ZGen_2Phase, void(const TPMI_DH_OBJECT& key_a, const std::string& key_a_name, const TPM2B_ECC_POINT& in_qs_b, const TPM2B_ECC_POINT& in_qe_b, const TPMI_ECC_KEY_EXCHANGE& in_scheme, const UINT16& counter, AuthorizationDelegate* authorization_delegate, const ZGen_2PhaseResponse& callback)); MOCK_METHOD9(ZGen_2PhaseSync, TPM_RC(const TPMI_DH_OBJECT& key_a, const std::string& key_a_name, const TPM2B_ECC_POINT& in_qs_b, const TPM2B_ECC_POINT& in_qe_b, const TPMI_ECC_KEY_EXCHANGE& in_scheme, const UINT16& counter, TPM2B_ECC_POINT* out_z1, TPM2B_ECC_POINT* out_z2, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(EncryptDecrypt, void(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPMI_YES_NO& decrypt, const TPMI_ALG_SYM_MODE& mode, const TPM2B_IV& iv_in, const TPM2B_MAX_BUFFER& in_data, AuthorizationDelegate* authorization_delegate, const EncryptDecryptResponse& callback)); MOCK_METHOD9(EncryptDecryptSync, TPM_RC(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPMI_YES_NO& decrypt, const TPMI_ALG_SYM_MODE& mode, const TPM2B_IV& iv_in, const TPM2B_MAX_BUFFER& in_data, TPM2B_MAX_BUFFER* out_data, TPM2B_IV* iv_out, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(Hash, void(const TPM2B_MAX_BUFFER& data, const TPMI_ALG_HASH& hash_alg, const TPMI_RH_HIERARCHY& hierarchy, AuthorizationDelegate* authorization_delegate, const HashResponse& callback)); MOCK_METHOD6(HashSync, TPM_RC(const TPM2B_MAX_BUFFER& data, const TPMI_ALG_HASH& hash_alg, const TPMI_RH_HIERARCHY& hierarchy, TPM2B_DIGEST* out_hash, TPMT_TK_HASHCHECK* validation, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(HMAC, void(const TPMI_DH_OBJECT& handle, const std::string& handle_name, const TPM2B_MAX_BUFFER& buffer, const TPMI_ALG_HASH& hash_alg, AuthorizationDelegate* authorization_delegate, const HMACResponse& callback)); MOCK_METHOD6(HMACSync, TPM_RC(const TPMI_DH_OBJECT& handle, const std::string& handle_name, const TPM2B_MAX_BUFFER& buffer, const TPMI_ALG_HASH& hash_alg, TPM2B_DIGEST* out_hmac, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(GetRandom, void(const UINT16& bytes_requested, AuthorizationDelegate* authorization_delegate, const GetRandomResponse& callback)); MOCK_METHOD3(GetRandomSync, TPM_RC(const UINT16& bytes_requested, TPM2B_DIGEST* random_bytes, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(StirRandom, void(const TPM2B_SENSITIVE_DATA& in_data, AuthorizationDelegate* authorization_delegate, const StirRandomResponse& callback)); MOCK_METHOD2(StirRandomSync, TPM_RC(const TPM2B_SENSITIVE_DATA& in_data, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(HMAC_Start, void(const TPMI_DH_OBJECT& handle, const std::string& handle_name, const TPM2B_AUTH& auth, const TPMI_ALG_HASH& hash_alg, AuthorizationDelegate* authorization_delegate, const HMAC_StartResponse& callback)); MOCK_METHOD6(HMAC_StartSync, TPM_RC(const TPMI_DH_OBJECT& handle, const std::string& handle_name, const TPM2B_AUTH& auth, const TPMI_ALG_HASH& hash_alg, TPMI_DH_OBJECT* sequence_handle, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(HashSequenceStart, void(const TPM2B_AUTH& auth, const TPMI_ALG_HASH& hash_alg, AuthorizationDelegate* authorization_delegate, const HashSequenceStartResponse& callback)); MOCK_METHOD4(HashSequenceStartSync, TPM_RC(const TPM2B_AUTH& auth, const TPMI_ALG_HASH& hash_alg, TPMI_DH_OBJECT* sequence_handle, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(SequenceUpdate, void(const TPMI_DH_OBJECT& sequence_handle, const std::string& sequence_handle_name, const TPM2B_MAX_BUFFER& buffer, AuthorizationDelegate* authorization_delegate, const SequenceUpdateResponse& callback)); MOCK_METHOD4(SequenceUpdateSync, TPM_RC(const TPMI_DH_OBJECT& sequence_handle, const std::string& sequence_handle_name, const TPM2B_MAX_BUFFER& buffer, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(SequenceComplete, void(const TPMI_DH_OBJECT& sequence_handle, const std::string& sequence_handle_name, const TPM2B_MAX_BUFFER& buffer, const TPMI_RH_HIERARCHY& hierarchy, AuthorizationDelegate* authorization_delegate, const SequenceCompleteResponse& callback)); MOCK_METHOD7(SequenceCompleteSync, TPM_RC(const TPMI_DH_OBJECT& sequence_handle, const std::string& sequence_handle_name, const TPM2B_MAX_BUFFER& buffer, const TPMI_RH_HIERARCHY& hierarchy, TPM2B_DIGEST* result, TPMT_TK_HASHCHECK* validation, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(EventSequenceComplete, void(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPMI_DH_OBJECT& sequence_handle, const std::string& sequence_handle_name, const TPM2B_MAX_BUFFER& buffer, AuthorizationDelegate* authorization_delegate, const EventSequenceCompleteResponse& callback)); MOCK_METHOD7(EventSequenceCompleteSync, TPM_RC(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPMI_DH_OBJECT& sequence_handle, const std::string& sequence_handle_name, const TPM2B_MAX_BUFFER& buffer, TPML_DIGEST_VALUES* results, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(Certify, void(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, AuthorizationDelegate* authorization_delegate, const CertifyResponse& callback)); MOCK_METHOD9(CertifySync, TPM_RC(const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, TPM2B_ATTEST* certify_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD10(CertifyCreation, void(const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPM2B_DATA& qualifying_data, const TPM2B_DIGEST& creation_hash, const TPMT_SIG_SCHEME& in_scheme, const TPMT_TK_CREATION& creation_ticket, AuthorizationDelegate* authorization_delegate, const CertifyCreationResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC CertifyCreationSync( const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPM2B_DATA& qualifying_data, const TPM2B_DIGEST& creation_hash, const TPMT_SIG_SCHEME& in_scheme, const TPMT_TK_CREATION& creation_ticket, TPM2B_ATTEST* certify_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD9(CertifyCreationSyncShort, TPM_RC(const TPMI_DH_OBJECT& sign_handle, const TPMI_DH_OBJECT& object_handle, const TPM2B_DATA& qualifying_data, const TPM2B_DIGEST& creation_hash, const TPMT_SIG_SCHEME& in_scheme, const TPMT_TK_CREATION& creation_ticket, TPM2B_ATTEST* certify_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(Quote, void(const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, const TPML_PCR_SELECTION& pcrselect, AuthorizationDelegate* authorization_delegate, const QuoteResponse& callback)); MOCK_METHOD8(QuoteSync, TPM_RC(const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, const TPML_PCR_SELECTION& pcrselect, TPM2B_ATTEST* quoted, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD10(GetSessionAuditDigest, void(const TPMI_RH_ENDORSEMENT& privacy_admin_handle, const std::string& privacy_admin_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPMI_SH_HMAC& session_handle, const std::string& session_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, AuthorizationDelegate* authorization_delegate, const GetSessionAuditDigestResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC GetSessionAuditDigestSync( const TPMI_RH_ENDORSEMENT& privacy_admin_handle, const std::string& privacy_admin_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPMI_SH_HMAC& session_handle, const std::string& session_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, TPM2B_ATTEST* audit_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD8(GetSessionAuditDigestSyncShort, TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_admin_handle, const TPMI_DH_OBJECT& sign_handle, const TPMI_SH_HMAC& session_handle, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, TPM2B_ATTEST* audit_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(GetCommandAuditDigest, void(const TPMI_RH_ENDORSEMENT& privacy_handle, const std::string& privacy_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, AuthorizationDelegate* authorization_delegate, const GetCommandAuditDigestResponse& callback)); MOCK_METHOD9(GetCommandAuditDigestSync, TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_handle, const std::string& privacy_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, TPM2B_ATTEST* audit_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(GetTime, void(const TPMI_RH_ENDORSEMENT& privacy_admin_handle, const std::string& privacy_admin_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, AuthorizationDelegate* authorization_delegate, const GetTimeResponse& callback)); MOCK_METHOD9(GetTimeSync, TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_admin_handle, const std::string& privacy_admin_handle_name, const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, TPM2B_ATTEST* time_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(Commit, void(const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const UINT32& param_size, const TPM2B_ECC_POINT& p1, const TPM2B_SENSITIVE_DATA& s2, const TPM2B_ECC_PARAMETER& y2, AuthorizationDelegate* authorization_delegate, const CommitResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC CommitSync(const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const UINT32& param_size, const TPM2B_ECC_POINT& p1, const TPM2B_SENSITIVE_DATA& s2, const TPM2B_ECC_PARAMETER& y2, UINT32* param_size_out, TPM2B_ECC_POINT* k, TPM2B_ECC_POINT* l, TPM2B_ECC_POINT* e, UINT16* counter, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD10(CommitSyncShort, TPM_RC(const TPMI_DH_OBJECT& sign_handle, const UINT32& param_size, const TPM2B_ECC_POINT& p1, const TPM2B_ECC_PARAMETER& y2, UINT32* param_size_out, TPM2B_ECC_POINT* k, TPM2B_ECC_POINT* l, TPM2B_ECC_POINT* e, UINT16* counter, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(EC_Ephemeral, void(const UINT32& param_size, const TPMI_ECC_CURVE& curve_id, AuthorizationDelegate* authorization_delegate, const EC_EphemeralResponse& callback)); MOCK_METHOD6(EC_EphemeralSync, TPM_RC(const UINT32& param_size, const TPMI_ECC_CURVE& curve_id, UINT32* param_size_out, TPM2B_ECC_POINT* q, UINT16* counter, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(VerifySignature, void(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_DIGEST& digest, const TPMT_SIGNATURE& signature, AuthorizationDelegate* authorization_delegate, const VerifySignatureResponse& callback)); MOCK_METHOD6(VerifySignatureSync, TPM_RC(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_DIGEST& digest, const TPMT_SIGNATURE& signature, TPMT_TK_VERIFIED* validation, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(Sign, void(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_DIGEST& digest, const TPMT_SIG_SCHEME& in_scheme, const TPMT_TK_HASHCHECK& validation, AuthorizationDelegate* authorization_delegate, const SignResponse& callback)); MOCK_METHOD7(SignSync, TPM_RC(const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_DIGEST& digest, const TPMT_SIG_SCHEME& in_scheme, const TPMT_TK_HASHCHECK& validation, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(SetCommandCodeAuditStatus, void(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const TPMI_ALG_HASH& audit_alg, const TPML_CC& set_list, const TPML_CC& clear_list, AuthorizationDelegate* authorization_delegate, const SetCommandCodeAuditStatusResponse& callback)); MOCK_METHOD6(SetCommandCodeAuditStatusSync, TPM_RC(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const TPMI_ALG_HASH& audit_alg, const TPML_CC& set_list, const TPML_CC& clear_list, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PCR_Extend, void(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPML_DIGEST_VALUES& digests, AuthorizationDelegate* authorization_delegate, const PCR_ExtendResponse& callback)); MOCK_METHOD4(PCR_ExtendSync, TPM_RC(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPML_DIGEST_VALUES& digests, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PCR_Event, void(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPM2B_EVENT& event_data, AuthorizationDelegate* authorization_delegate, const PCR_EventResponse& callback)); MOCK_METHOD5(PCR_EventSync, TPM_RC(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPM2B_EVENT& event_data, TPML_DIGEST_VALUES* digests, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(PCR_Read, void(const TPML_PCR_SELECTION& pcr_selection_in, AuthorizationDelegate* authorization_delegate, const PCR_ReadResponse& callback)); MOCK_METHOD5(PCR_ReadSync, TPM_RC(const TPML_PCR_SELECTION& pcr_selection_in, UINT32* pcr_update_counter, TPML_PCR_SELECTION* pcr_selection_out, TPML_DIGEST* pcr_values, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PCR_Allocate, void(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, const TPML_PCR_SELECTION& pcr_allocation, AuthorizationDelegate* authorization_delegate, const PCR_AllocateResponse& callback)); MOCK_METHOD8(PCR_AllocateSync, TPM_RC(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, const TPML_PCR_SELECTION& pcr_allocation, TPMI_YES_NO* allocation_success, UINT32* max_pcr, UINT32* size_needed, UINT32* size_available, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(PCR_SetAuthPolicy, void(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, const TPMI_DH_PCR& pcr_num, const std::string& pcr_num_name, const TPM2B_DIGEST& auth_policy, const TPMI_ALG_HASH& policy_digest, AuthorizationDelegate* authorization_delegate, const PCR_SetAuthPolicyResponse& callback)); MOCK_METHOD7(PCR_SetAuthPolicySync, TPM_RC(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, const TPMI_DH_PCR& pcr_num, const std::string& pcr_num_name, const TPM2B_DIGEST& auth_policy, const TPMI_ALG_HASH& policy_digest, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PCR_SetAuthValue, void(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPM2B_DIGEST& auth, AuthorizationDelegate* authorization_delegate, const PCR_SetAuthValueResponse& callback)); MOCK_METHOD4(PCR_SetAuthValueSync, TPM_RC(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, const TPM2B_DIGEST& auth, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(PCR_Reset, void(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, AuthorizationDelegate* authorization_delegate, const PCR_ResetResponse& callback)); MOCK_METHOD3(PCR_ResetSync, TPM_RC(const TPMI_DH_PCR& pcr_handle, const std::string& pcr_handle_name, AuthorizationDelegate* authorization_delegate)); // Too many args to mock, forward to *Short version. void PolicySigned( const TPMI_DH_OBJECT& auth_object, const std::string& auth_object_name, const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_NONCE& nonce_tpm, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const INT32& expiration, const TPMT_SIGNATURE& auth, AuthorizationDelegate* authorization_delegate, const PolicySignedResponse& callback) override; MOCK_METHOD9(PolicySignedShort, void(const TPMI_DH_OBJECT& auth_object, const TPMI_SH_POLICY& policy_session, const TPM2B_NONCE& nonce_tpm, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const INT32& expiration, const TPMT_SIGNATURE& auth, AuthorizationDelegate* authorization_delegate, const PolicySignedResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC PolicySignedSync( const TPMI_DH_OBJECT& auth_object, const std::string& auth_object_name, const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_NONCE& nonce_tpm, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const INT32& expiration, const TPMT_SIGNATURE& auth, TPM2B_TIMEOUT* timeout, TPMT_TK_AUTH* policy_ticket, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD10(PolicySignedSyncShort, TPM_RC(const TPMI_DH_OBJECT& auth_object, const TPMI_SH_POLICY& policy_session, const TPM2B_NONCE& nonce_tpm, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const INT32& expiration, const TPMT_SIGNATURE& auth, TPM2B_TIMEOUT* timeout, TPMT_TK_AUTH* policy_ticket, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD10(PolicySecret, void(const TPMI_DH_ENTITY& auth_handle, const std::string& auth_handle_name, const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_NONCE& nonce_tpm, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const INT32& expiration, AuthorizationDelegate* authorization_delegate, const PolicySecretResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC PolicySecretSync( const TPMI_DH_ENTITY& auth_handle, const std::string& auth_handle_name, const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_NONCE& nonce_tpm, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const INT32& expiration, TPM2B_TIMEOUT* timeout, TPMT_TK_AUTH* policy_ticket, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD9(PolicySecretSyncShort, TPM_RC(const TPMI_DH_ENTITY& auth_handle, const TPMI_SH_POLICY& policy_session, const TPM2B_NONCE& nonce_tpm, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const INT32& expiration, TPM2B_TIMEOUT* timeout, TPMT_TK_AUTH* policy_ticket, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD9(PolicyTicket, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_TIMEOUT& timeout, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const TPM2B_NAME& auth_name, const TPMT_TK_AUTH& ticket, AuthorizationDelegate* authorization_delegate, const PolicyTicketResponse& callback)); MOCK_METHOD8(PolicyTicketSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_TIMEOUT& timeout, const TPM2B_DIGEST& cp_hash_a, const TPM2B_NONCE& policy_ref, const TPM2B_NAME& auth_name, const TPMT_TK_AUTH& ticket, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PolicyOR, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPML_DIGEST& p_hash_list, AuthorizationDelegate* authorization_delegate, const PolicyORResponse& callback)); MOCK_METHOD4(PolicyORSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPML_DIGEST& p_hash_list, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(PolicyPCR, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& pcr_digest, const TPML_PCR_SELECTION& pcrs, AuthorizationDelegate* authorization_delegate, const PolicyPCRResponse& callback)); MOCK_METHOD5(PolicyPCRSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& pcr_digest, const TPML_PCR_SELECTION& pcrs, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PolicyLocality, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPMA_LOCALITY& locality, AuthorizationDelegate* authorization_delegate, const PolicyLocalityResponse& callback)); MOCK_METHOD4(PolicyLocalitySync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPMA_LOCALITY& locality, AuthorizationDelegate* authorization_delegate)); // Too many args to mock, forward to *Short version. void PolicyNV(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_OPERAND& operand_b, const UINT16& offset, const TPM_EO& operation, AuthorizationDelegate* authorization_delegate, const PolicyNVResponse& callback) override; MOCK_METHOD8(PolicyNVShort, void(const TPMI_RH_NV_AUTH& auth_handle, const TPMI_RH_NV_INDEX& nv_index, const TPMI_SH_POLICY& policy_session, const TPM2B_OPERAND& operand_b, const UINT16& offset, const TPM_EO& operation, AuthorizationDelegate* authorization_delegate, const PolicyNVResponse& callback)); MOCK_METHOD10(PolicyNVSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_OPERAND& operand_b, const UINT16& offset, const TPM_EO& operation, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(PolicyCounterTimer, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_OPERAND& operand_b, const UINT16& offset, const TPM_EO& operation, AuthorizationDelegate* authorization_delegate, const PolicyCounterTimerResponse& callback)); MOCK_METHOD6(PolicyCounterTimerSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_OPERAND& operand_b, const UINT16& offset, const TPM_EO& operation, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PolicyCommandCode, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM_CC& code, AuthorizationDelegate* authorization_delegate, const PolicyCommandCodeResponse& callback)); MOCK_METHOD4(PolicyCommandCodeSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM_CC& code, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(PolicyPhysicalPresence, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, AuthorizationDelegate* authorization_delegate, const PolicyPhysicalPresenceResponse& callback)); MOCK_METHOD3(PolicyPhysicalPresenceSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PolicyCpHash, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& cp_hash_a, AuthorizationDelegate* authorization_delegate, const PolicyCpHashResponse& callback)); MOCK_METHOD4(PolicyCpHashSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& cp_hash_a, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PolicyNameHash, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& name_hash, AuthorizationDelegate* authorization_delegate, const PolicyNameHashResponse& callback)); MOCK_METHOD4(PolicyNameHashSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& name_hash, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(PolicyDuplicationSelect, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_NAME& object_name, const TPM2B_NAME& new_parent_name, const TPMI_YES_NO& include_object, AuthorizationDelegate* authorization_delegate, const PolicyDuplicationSelectResponse& callback)); MOCK_METHOD6(PolicyDuplicationSelectSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_NAME& object_name, const TPM2B_NAME& new_parent_name, const TPMI_YES_NO& include_object, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(PolicyAuthorize, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& approved_policy, const TPM2B_NONCE& policy_ref, const TPM2B_NAME& key_sign, const TPMT_TK_VERIFIED& check_ticket, AuthorizationDelegate* authorization_delegate, const PolicyAuthorizeResponse& callback)); MOCK_METHOD7(PolicyAuthorizeSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPM2B_DIGEST& approved_policy, const TPM2B_NONCE& policy_ref, const TPM2B_NAME& key_sign, const TPMT_TK_VERIFIED& check_ticket, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(PolicyAuthValue, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, AuthorizationDelegate* authorization_delegate, const PolicyAuthValueResponse& callback)); MOCK_METHOD3(PolicyAuthValueSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(PolicyPassword, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, AuthorizationDelegate* authorization_delegate, const PolicyPasswordResponse& callback)); MOCK_METHOD3(PolicyPasswordSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(PolicyGetDigest, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, AuthorizationDelegate* authorization_delegate, const PolicyGetDigestResponse& callback)); MOCK_METHOD4(PolicyGetDigestSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, TPM2B_DIGEST* policy_digest, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(PolicyNvWritten, void(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPMI_YES_NO& written_set, AuthorizationDelegate* authorization_delegate, const PolicyNvWrittenResponse& callback)); MOCK_METHOD4(PolicyNvWrittenSync, TPM_RC(const TPMI_SH_POLICY& policy_session, const std::string& policy_session_name, const TPMI_YES_NO& written_set, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(CreatePrimary, void(const TPMI_RH_HIERARCHY& primary_handle, const std::string& primary_handle_name, const TPM2B_SENSITIVE_CREATE& in_sensitive, const TPM2B_PUBLIC& in_public, const TPM2B_DATA& outside_info, const TPML_PCR_SELECTION& creation_pcr, AuthorizationDelegate* authorization_delegate, const CreatePrimaryResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC CreatePrimarySync( const TPMI_RH_HIERARCHY& primary_handle, const std::string& primary_handle_name, const TPM2B_SENSITIVE_CREATE& in_sensitive, const TPM2B_PUBLIC& in_public, const TPM2B_DATA& outside_info, const TPML_PCR_SELECTION& creation_pcr, TPM_HANDLE* object_handle, TPM2B_PUBLIC* out_public, TPM2B_CREATION_DATA* creation_data, TPM2B_DIGEST* creation_hash, TPMT_TK_CREATION* creation_ticket, TPM2B_NAME* name, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD10(CreatePrimarySyncShort, TPM_RC(const TPMI_RH_HIERARCHY& primary_handle, const TPM2B_PUBLIC& in_public, const TPML_PCR_SELECTION& creation_pcr, TPM_HANDLE* object_handle, TPM2B_PUBLIC* out_public, TPM2B_CREATION_DATA* creation_data, TPM2B_DIGEST* creation_hash, TPMT_TK_CREATION* creation_ticket, TPM2B_NAME* name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(HierarchyControl, void(const TPMI_RH_HIERARCHY& auth_handle, const std::string& auth_handle_name, const TPMI_RH_ENABLES& enable, const TPMI_YES_NO& state, AuthorizationDelegate* authorization_delegate, const HierarchyControlResponse& callback)); MOCK_METHOD5(HierarchyControlSync, TPM_RC(const TPMI_RH_HIERARCHY& auth_handle, const std::string& auth_handle_name, const TPMI_RH_ENABLES& enable, const TPMI_YES_NO& state, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(SetPrimaryPolicy, void(const TPMI_RH_HIERARCHY& auth_handle, const std::string& auth_handle_name, const TPM2B_DIGEST& auth_policy, const TPMI_ALG_HASH& hash_alg, AuthorizationDelegate* authorization_delegate, const SetPrimaryPolicyResponse& callback)); MOCK_METHOD5(SetPrimaryPolicySync, TPM_RC(const TPMI_RH_HIERARCHY& auth_handle, const std::string& auth_handle_name, const TPM2B_DIGEST& auth_policy, const TPMI_ALG_HASH& hash_alg, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(ChangePPS, void(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate, const ChangePPSResponse& callback)); MOCK_METHOD3(ChangePPSSync, TPM_RC(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(ChangeEPS, void(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate, const ChangeEPSResponse& callback)); MOCK_METHOD3(ChangeEPSSync, TPM_RC(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(Clear, void(const TPMI_RH_CLEAR& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate, const ClearResponse& callback)); MOCK_METHOD3(ClearSync, TPM_RC(const TPMI_RH_CLEAR& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(ClearControl, void(const TPMI_RH_CLEAR& auth, const std::string& auth_name, const TPMI_YES_NO& disable, AuthorizationDelegate* authorization_delegate, const ClearControlResponse& callback)); MOCK_METHOD4(ClearControlSync, TPM_RC(const TPMI_RH_CLEAR& auth, const std::string& auth_name, const TPMI_YES_NO& disable, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(HierarchyChangeAuth, void(const TPMI_RH_HIERARCHY_AUTH& auth_handle, const std::string& auth_handle_name, const TPM2B_AUTH& new_auth, AuthorizationDelegate* authorization_delegate, const HierarchyChangeAuthResponse& callback)); MOCK_METHOD4(HierarchyChangeAuthSync, TPM_RC(const TPMI_RH_HIERARCHY_AUTH& auth_handle, const std::string& auth_handle_name, const TPM2B_AUTH& new_auth, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(DictionaryAttackLockReset, void(const TPMI_RH_LOCKOUT& lock_handle, const std::string& lock_handle_name, AuthorizationDelegate* authorization_delegate, const DictionaryAttackLockResetResponse& callback)); MOCK_METHOD3(DictionaryAttackLockResetSync, TPM_RC(const TPMI_RH_LOCKOUT& lock_handle, const std::string& lock_handle_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(DictionaryAttackParameters, void(const TPMI_RH_LOCKOUT& lock_handle, const std::string& lock_handle_name, const UINT32& new_max_tries, const UINT32& new_recovery_time, const UINT32& lockout_recovery, AuthorizationDelegate* authorization_delegate, const DictionaryAttackParametersResponse& callback)); MOCK_METHOD6(DictionaryAttackParametersSync, TPM_RC(const TPMI_RH_LOCKOUT& lock_handle, const std::string& lock_handle_name, const UINT32& new_max_tries, const UINT32& new_recovery_time, const UINT32& lockout_recovery, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(PP_Commands, void(const TPMI_RH_PLATFORM& auth, const std::string& auth_name, const TPML_CC& set_list, const TPML_CC& clear_list, AuthorizationDelegate* authorization_delegate, const PP_CommandsResponse& callback)); MOCK_METHOD5(PP_CommandsSync, TPM_RC(const TPMI_RH_PLATFORM& auth, const std::string& auth_name, const TPML_CC& set_list, const TPML_CC& clear_list, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(SetAlgorithmSet, void(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, const UINT32& algorithm_set, AuthorizationDelegate* authorization_delegate, const SetAlgorithmSetResponse& callback)); MOCK_METHOD4(SetAlgorithmSetSync, TPM_RC(const TPMI_RH_PLATFORM& auth_handle, const std::string& auth_handle_name, const UINT32& algorithm_set, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(FieldUpgradeStart, void(const TPMI_RH_PLATFORM& authorization, const std::string& authorization_name, const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_DIGEST& fu_digest, const TPMT_SIGNATURE& manifest_signature, AuthorizationDelegate* authorization_delegate, const FieldUpgradeStartResponse& callback)); MOCK_METHOD7(FieldUpgradeStartSync, TPM_RC(const TPMI_RH_PLATFORM& authorization, const std::string& authorization_name, const TPMI_DH_OBJECT& key_handle, const std::string& key_handle_name, const TPM2B_DIGEST& fu_digest, const TPMT_SIGNATURE& manifest_signature, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(FieldUpgradeData, void(const TPM2B_MAX_BUFFER& fu_data, AuthorizationDelegate* authorization_delegate, const FieldUpgradeDataResponse& callback)); MOCK_METHOD4(FieldUpgradeDataSync, TPM_RC(const TPM2B_MAX_BUFFER& fu_data, TPMT_HA* next_digest, TPMT_HA* first_digest, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(FirmwareRead, void(const UINT32& sequence_number, AuthorizationDelegate* authorization_delegate, const FirmwareReadResponse& callback)); MOCK_METHOD3(FirmwareReadSync, TPM_RC(const UINT32& sequence_number, TPM2B_MAX_BUFFER* fu_data, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(ContextSave, void(const TPMI_DH_CONTEXT& save_handle, const std::string& save_handle_name, AuthorizationDelegate* authorization_delegate, const ContextSaveResponse& callback)); MOCK_METHOD4(ContextSaveSync, TPM_RC(const TPMI_DH_CONTEXT& save_handle, const std::string& save_handle_name, TPMS_CONTEXT* context, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(ContextLoad, void(const TPMS_CONTEXT& context, AuthorizationDelegate* authorization_delegate, const ContextLoadResponse& callback)); MOCK_METHOD3(ContextLoadSync, TPM_RC(const TPMS_CONTEXT& context, TPMI_DH_CONTEXT* loaded_handle, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(FlushContext, void(const TPMI_DH_CONTEXT& flush_handle, AuthorizationDelegate* authorization_delegate, const FlushContextResponse& callback)); MOCK_METHOD2(FlushContextSync, TPM_RC(const TPMI_DH_CONTEXT& flush_handle, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(EvictControl, void(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_PERSISTENT& persistent_handle, AuthorizationDelegate* authorization_delegate, const EvictControlResponse& callback)); MOCK_METHOD6(EvictControlSync, TPM_RC(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const TPMI_DH_OBJECT& object_handle, const std::string& object_handle_name, const TPMI_DH_PERSISTENT& persistent_handle, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD2(ReadClock, void(AuthorizationDelegate* authorization_delegate, const ReadClockResponse& callback)); MOCK_METHOD2(ReadClockSync, TPM_RC(TPMS_TIME_INFO* current_time, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(ClockSet, void(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const UINT64& new_time, AuthorizationDelegate* authorization_delegate, const ClockSetResponse& callback)); MOCK_METHOD4(ClockSetSync, TPM_RC(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const UINT64& new_time, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(ClockRateAdjust, void(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const TPM_CLOCK_ADJUST& rate_adjust, AuthorizationDelegate* authorization_delegate, const ClockRateAdjustResponse& callback)); MOCK_METHOD4(ClockRateAdjustSync, TPM_RC(const TPMI_RH_PROVISION& auth, const std::string& auth_name, const TPM_CLOCK_ADJUST& rate_adjust, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(GetCapability, void(const TPM_CAP& capability, const UINT32& property, const UINT32& property_count, AuthorizationDelegate* authorization_delegate, const GetCapabilityResponse& callback)); MOCK_METHOD6(GetCapabilitySync, TPM_RC(const TPM_CAP& capability, const UINT32& property, const UINT32& property_count, TPMI_YES_NO* more_data, TPMS_CAPABILITY_DATA* capability_data, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD3(TestParms, void(const TPMT_PUBLIC_PARMS& parameters, AuthorizationDelegate* authorization_delegate, const TestParmsResponse& callback)); MOCK_METHOD2(TestParmsSync, TPM_RC(const TPMT_PUBLIC_PARMS& parameters, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(NV_DefineSpace, void(const TPMI_RH_PROVISION& auth_handle, const std::string& auth_handle_name, const TPM2B_AUTH& auth, const TPM2B_NV_PUBLIC& public_info, AuthorizationDelegate* authorization_delegate, const NV_DefineSpaceResponse& callback)); MOCK_METHOD5(NV_DefineSpaceSync, TPM_RC(const TPMI_RH_PROVISION& auth_handle, const std::string& auth_handle_name, const TPM2B_AUTH& auth, const TPM2B_NV_PUBLIC& public_info, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(NV_UndefineSpace, void(const TPMI_RH_PROVISION& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate, const NV_UndefineSpaceResponse& callback)); MOCK_METHOD5(NV_UndefineSpaceSync, TPM_RC(const TPMI_RH_PROVISION& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(NV_UndefineSpaceSpecial, void(const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPMI_RH_PLATFORM& platform, const std::string& platform_name, AuthorizationDelegate* authorization_delegate, const NV_UndefineSpaceSpecialResponse& callback)); MOCK_METHOD5(NV_UndefineSpaceSpecialSync, TPM_RC(const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPMI_RH_PLATFORM& platform, const std::string& platform_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(NV_ReadPublic, void(const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate, const NV_ReadPublicResponse& callback)); MOCK_METHOD5(NV_ReadPublicSync, TPM_RC(const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, TPM2B_NV_PUBLIC* nv_public, TPM2B_NAME* nv_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(NV_Write, void(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_MAX_NV_BUFFER& data, const UINT16& offset, AuthorizationDelegate* authorization_delegate, const NV_WriteResponse& callback)); MOCK_METHOD7(NV_WriteSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_MAX_NV_BUFFER& data, const UINT16& offset, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(NV_Increment, void(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate, const NV_IncrementResponse& callback)); MOCK_METHOD5(NV_IncrementSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(NV_Extend, void(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_MAX_NV_BUFFER& data, AuthorizationDelegate* authorization_delegate, const NV_ExtendResponse& callback)); MOCK_METHOD6(NV_ExtendSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_MAX_NV_BUFFER& data, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD7(NV_SetBits, void(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const UINT64& bits, AuthorizationDelegate* authorization_delegate, const NV_SetBitsResponse& callback)); MOCK_METHOD6(NV_SetBitsSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const UINT64& bits, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(NV_WriteLock, void(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate, const NV_WriteLockResponse& callback)); MOCK_METHOD5(NV_WriteLockSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD4(NV_GlobalWriteLock, void(const TPMI_RH_PROVISION& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate, const NV_GlobalWriteLockResponse& callback)); MOCK_METHOD3(NV_GlobalWriteLockSync, TPM_RC(const TPMI_RH_PROVISION& auth_handle, const std::string& auth_handle_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD8(NV_Read, void(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const UINT16& size, const UINT16& offset, AuthorizationDelegate* authorization_delegate, const NV_ReadResponse& callback)); MOCK_METHOD8(NV_ReadSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const UINT16& size, const UINT16& offset, TPM2B_MAX_NV_BUFFER* data, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD6(NV_ReadLock, void(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate, const NV_ReadLockResponse& callback)); MOCK_METHOD5(NV_ReadLockSync, TPM_RC(const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, AuthorizationDelegate* authorization_delegate)); MOCK_METHOD5(NV_ChangeAuth, void(const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_AUTH& new_auth, AuthorizationDelegate* authorization_delegate, const NV_ChangeAuthResponse& callback)); MOCK_METHOD4(NV_ChangeAuthSync, TPM_RC(const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_AUTH& new_auth, AuthorizationDelegate* authorization_delegate)); // Too many args to mock, forward to *Short version. void NV_Certify(const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, const UINT16& size, const UINT16& offset, AuthorizationDelegate* authorization_delegate, const NV_CertifyResponse& callback) override; MOCK_METHOD9(NV_CertifyShort, void(const TPMI_DH_OBJECT& sign_handle, const TPMI_RH_NV_AUTH& auth_handle, const TPMI_RH_NV_INDEX& nv_index, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, const UINT16& size, const UINT16& offset, AuthorizationDelegate* authorization_delegate, const NV_CertifyResponse& callback)); // Too many args to mock, forward to *Short version. TPM_RC NV_CertifySync( const TPMI_DH_OBJECT& sign_handle, const std::string& sign_handle_name, const TPMI_RH_NV_AUTH& auth_handle, const std::string& auth_handle_name, const TPMI_RH_NV_INDEX& nv_index, const std::string& nv_index_name, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, const UINT16& size, const UINT16& offset, TPM2B_ATTEST* certify_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate) override; MOCK_METHOD10(NV_CertifySyncShort, TPM_RC(const TPMI_DH_OBJECT& sign_handle, const TPMI_RH_NV_AUTH& auth_handle, const TPMI_RH_NV_INDEX& nv_index, const TPM2B_DATA& qualifying_data, const TPMT_SIG_SCHEME& in_scheme, const UINT16& size, const UINT16& offset, TPM2B_ATTEST* certify_info, TPMT_SIGNATURE* signature, AuthorizationDelegate* authorization_delegate)); }; } // namespace trunks #endif // TRUNKS_MOCK_TPM_H_