in PCPTool.v11/exe/PCPTool.cpp [94:295]
int __cdecl wmain(_In_ int argc,
_In_reads_(argc) WCHAR* argv[]
)
{
HRESULT hr = S_OK;
if((argc <= 1) ||
(!wcscmp(argv[1], L"/?")) ||
(!wcscmp(argv[1], L"-?")) ||
(!_wcsicmp(argv[1], L"/h")) ||
(!_wcsicmp(argv[1], L"-h")))
{
PcpToolGetHelp();
}
else
{
WCHAR* command = argv[1];
if(!_wcsicmp(command, L"getversion"))
{
hr = PcpToolGetVersion(argc, argv);
}
else if(!_wcsicmp(command, L"getrandom"))
{
hr = PcpToolGetRandom(argc, argv);
}
else if(!_wcsicmp(command, L"getrandompcrs"))
{
hr = PcpToolGetRandomPcrs(argc, argv);
}
else if(!_wcsicmp(command, L"geteK"))
{
hr = PcpToolGetEK(argc, argv);
}
else if(!_wcsicmp(command, L"getekcert"))
{
hr = PcpToolGetEKCert(argc, argv);
}
else if(!_wcsicmp(command, L"getnvekcert"))
{
hr = PcpToolGetNVEKCert(argc, argv);
}
else if(!_wcsicmp(command, L"addekcert"))
{
hr = PcpToolAddEKCert(argc, argv);
}
else if(!_wcsicmp(command, L"extractek"))
{
hr = PcpToolExtractEK(argc, argv);
}
else if(!_wcsicmp(command, L"getsrk"))
{
hr = PcpToolGetSRK(argc, argv);
}
else if(!_wcsicmp(command, L"getlog"))
{
hr = PcpToolGetLog(argc, argv);
}
else if(!_wcsicmp(command, L"decodelog"))
{
hr = PcpToolDecodeLog(argc, argv);
}
else if(!_wcsicmp(command, L"createaik"))
{
hr = PcpToolCreateAIK(argc, argv);
}
else if(!_wcsicmp(command, L"createkey"))
{
hr = PcpToolCreateKey(argc, argv);
}
else if(!_wcsicmp(command, L"getcertstore"))
{
hr = PcpToolGetUserCertStore(argc, argv);
}
else if(!_wcsicmp(command, L"importkey"))
{
hr = PcpToolImportKey(argc, argv);
}
else if(!_wcsicmp(command, L"exportkey"))
{
hr = PcpToolExportKey(argc, argv);
}
else if(!_wcsicmp(command, L"challengeaik"))
{
hr = PcpToolChallengeAIK(argc, argv);
}
else if(!_wcsicmp(command, L"activateaik"))
{
hr = PcpToolActivateAIK(argc, argv);
}
else if(!_wcsicmp(command, L"getpubaik"))
{
hr = PcpToolGetPubAIK(argc, argv);
}
else if(!_wcsicmp(command, L"registeraik"))
{
hr = PcpToolRegisterAIK(argc, argv);
}
else if(!_wcsicmp(command, L"enumerateaik"))
{
hr = PcpToolEnumerateAIK(argc, argv);
}
else if(!_wcsicmp(command, L"enumeratekeys"))
{
hr = PcpToolEnumerateKeys(argc, argv);
}
else if(!_wcsicmp(command, L"changekeyusageauth"))
{
hr = PcpToolChangeKeyUsageAuth(argc, argv);
}
else if(!_wcsicmp(command, L"deletekey"))
{
hr = PcpToolDeleteKey(argc, argv);
}
else if(!_wcsicmp(command, L"getpubkey"))
{
hr = PcpToolGetPubKey(argc, argv);
}
else if(!_wcsicmp(command, L"getplatformcounters"))
{
hr = PcpToolGetPlatformCounters(argc, argv);
}
else if(!_wcsicmp(command, L"getpcrs"))
{
hr = PcpToolGetPCRs(argc, argv);
}
else if(!_wcsicmp(command, L"getarchivedlog"))
{
hr = PcpToolGetArchivedLog(argc, argv);
}
else if(!_wcsicmp(command, L"getplatformattestation"))
{
hr = PcpToolGetPlatformAttestation(argc, argv);
}
else if(!_wcsicmp(command, L"createplatformattestationfromlog"))
{
hr = PcpToolCreatePlatformAttestationFromLog(argc, argv);
}
else if(!_wcsicmp(command, L"displayplatformattestationfile"))
{
hr = PcpToolDisplayPlatformAttestationFile(argc, argv);
}
else if(!_wcsicmp(command, L"validateplatformattestation"))
{
hr = PcpToolValidatePlatformAttestation(argc, argv);
}
else if(!_wcsicmp(command, L"getkeyattestation"))
{
hr = PcpToolGetKeyAttestation(argc, argv);
}
else if(!_wcsicmp(command, L"getkeyattestationfromkey"))
{
hr = PcpToolGetKeyAttestationFromKey(argc, argv);
}
else if(!_wcsicmp(command, L"validatekeyattestation"))
{
hr = PcpToolValidateKeyAttestation(argc, argv);
}
else if(!_wcsicmp(command, L"getkeyproperties"))
{
hr = PcpToolGetKeyProperties(argc, argv);
}
else if(!_wcsicmp(command, L"encrypt"))
{
hr = PcpToolEncrypt(argc, argv);
}
else if(!_wcsicmp(command, L"decrypt"))
{
hr = PcpToolDecrypt(argc, argv);
}
else if(!_wcsicmp(command, L"wrapkey"))
{
hr = PcpToolWrapPlatformKey(argc, argv);
}
else if(!_wcsicmp(command, L"importplatformkey"))
{
hr = PcpToolImportPlatformKey(argc, argv);
}
else if(!_wcsicmp(command, L"getvsckeyattestationfromkey"))
{
hr = PcpToolGetVscKeyAttestationFromKey(argc, argv);
}
else if(!_wcsicmp(command, L"issueekcert"))
{
hr = PcpToolIssueEkCert(argc, argv);
}
else if(!_wcsicmp(command, L"privacycachallenge"))
{
hr = PcpToolPrivacyCaChallenge(argc, argv);
}
else if(!_wcsicmp(command, L"privacycaactivate"))
{
hr = PcpToolPrivacyCaActivate(argc, argv);
}
else
{
wprintf(L"Command not found.");
}
}
TpmAttiReleaseHashProviders();
return SUCCEEDED(hr) ? 0 : 1;
}