152 lines
6.0 KiB
C++
152 lines
6.0 KiB
C++
/*
|
|
* Copyright (C) 2020 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.
|
|
*/
|
|
|
|
#include "tpm_commands.h"
|
|
|
|
#include <tss2/tss2_tpm2_types.h>
|
|
|
|
#include <cstddef>
|
|
#include <string>
|
|
|
|
namespace cuttlefish {
|
|
|
|
std::string TpmCommandName(std::uint32_t command_num) {
|
|
switch(command_num) {
|
|
#define MATCH_TPM_COMMAND(name) case name: return #name;
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_UndefineSpaceSpecial)
|
|
MATCH_TPM_COMMAND(TPM2_CC_EvictControl)
|
|
MATCH_TPM_COMMAND(TPM2_CC_HierarchyControl)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_UndefineSpace)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ChangeEPS)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ChangePPS)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Clear)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ClearControl)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ClockSet)
|
|
MATCH_TPM_COMMAND(TPM2_CC_HierarchyChangeAuth)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_DefineSpace)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PCR_Allocate)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PCR_SetAuthPolicy)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PP_Commands)
|
|
MATCH_TPM_COMMAND(TPM2_CC_SetPrimaryPolicy)
|
|
MATCH_TPM_COMMAND(TPM2_CC_FieldUpgradeStart)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ClockRateAdjust)
|
|
MATCH_TPM_COMMAND(TPM2_CC_CreatePrimary)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_GlobalWriteLock)
|
|
MATCH_TPM_COMMAND(TPM2_CC_GetCommandAuditDigest)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_Increment)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_SetBits)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_Extend)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_Write)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_WriteLock)
|
|
MATCH_TPM_COMMAND(TPM2_CC_DictionaryAttackLockReset)
|
|
MATCH_TPM_COMMAND(TPM2_CC_DictionaryAttackParameters)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_ChangeAuth)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PCR_Event)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PCR_Reset)
|
|
MATCH_TPM_COMMAND(TPM2_CC_SequenceComplete)
|
|
MATCH_TPM_COMMAND(TPM2_CC_SetAlgorithmSet)
|
|
MATCH_TPM_COMMAND(TPM2_CC_SetCommandCodeAuditStatus)
|
|
MATCH_TPM_COMMAND(TPM2_CC_FieldUpgradeData)
|
|
MATCH_TPM_COMMAND(TPM2_CC_IncrementalSelfTest)
|
|
MATCH_TPM_COMMAND(TPM2_CC_SelfTest)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Startup)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Shutdown)
|
|
MATCH_TPM_COMMAND(TPM2_CC_StirRandom)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ActivateCredential)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Certify)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyNV)
|
|
MATCH_TPM_COMMAND(TPM2_CC_CertifyCreation)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Duplicate)
|
|
MATCH_TPM_COMMAND(TPM2_CC_GetTime)
|
|
MATCH_TPM_COMMAND(TPM2_CC_GetSessionAuditDigest)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_Read)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_ReadLock)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ObjectChangeAuth)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicySecret)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Rewrap)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Create)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ECDH_ZGen)
|
|
MATCH_TPM_COMMAND(TPM2_CC_HMAC)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Import)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Load)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Quote)
|
|
MATCH_TPM_COMMAND(TPM2_CC_RSA_Decrypt)
|
|
MATCH_TPM_COMMAND(TPM2_CC_HMAC_Start)
|
|
MATCH_TPM_COMMAND(TPM2_CC_SequenceUpdate)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Sign)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Unseal)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicySigned)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ContextLoad)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ContextSave)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ECDH_KeyGen)
|
|
MATCH_TPM_COMMAND(TPM2_CC_EncryptDecrypt)
|
|
MATCH_TPM_COMMAND(TPM2_CC_FlushContext)
|
|
MATCH_TPM_COMMAND(TPM2_CC_LoadExternal)
|
|
MATCH_TPM_COMMAND(TPM2_CC_MakeCredential)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_ReadPublic)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyAuthorize)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyAuthValue)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyCommandCode)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyCounterTimer)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyCpHash)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyLocality)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyNameHash)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyOR)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyTicket)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ReadPublic)
|
|
MATCH_TPM_COMMAND(TPM2_CC_RSA_Encrypt)
|
|
MATCH_TPM_COMMAND(TPM2_CC_StartAuthSession)
|
|
MATCH_TPM_COMMAND(TPM2_CC_VerifySignature)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ECC_Parameters)
|
|
MATCH_TPM_COMMAND(TPM2_CC_FirmwareRead)
|
|
MATCH_TPM_COMMAND(TPM2_CC_GetCapability)
|
|
MATCH_TPM_COMMAND(TPM2_CC_GetRandom)
|
|
MATCH_TPM_COMMAND(TPM2_CC_GetTestResult)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Hash)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PCR_Read)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyPCR)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyRestart)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ReadClock)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PCR_Extend)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PCR_SetAuthValue)
|
|
MATCH_TPM_COMMAND(TPM2_CC_NV_Certify)
|
|
MATCH_TPM_COMMAND(TPM2_CC_EventSequenceComplete)
|
|
MATCH_TPM_COMMAND(TPM2_CC_HashSequenceStart)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyPhysicalPresence)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyDuplicationSelect)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyGetDigest)
|
|
MATCH_TPM_COMMAND(TPM2_CC_TestParms)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Commit)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyPassword)
|
|
MATCH_TPM_COMMAND(TPM2_CC_ZGen_2Phase)
|
|
MATCH_TPM_COMMAND(TPM2_CC_EC_Ephemeral)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyNvWritten)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyTemplate)
|
|
MATCH_TPM_COMMAND(TPM2_CC_CreateLoaded)
|
|
MATCH_TPM_COMMAND(TPM2_CC_PolicyAuthorizeNV)
|
|
MATCH_TPM_COMMAND(TPM2_CC_EncryptDecrypt2)
|
|
MATCH_TPM_COMMAND(TPM2_CC_AC_GetCapability)
|
|
MATCH_TPM_COMMAND(TPM2_CC_AC_Send)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Policy_AC_SendSelect)
|
|
MATCH_TPM_COMMAND(TPM2_CC_Vendor_TCG_Test)
|
|
#undef MATCH_TPM_COMMAND
|
|
default:
|
|
return "Unknown";
|
|
}
|
|
}
|
|
|
|
} // namespace cuttlefish
|