17b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury/* 27b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury * Copyright 2015 The Chromium OS Authors. All rights reserved. 37b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury * Use of this source code is governed by a BSD-style license that can be 47b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury * found in the LICENSE file. 57b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury */ 67b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury 77b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury#ifndef __TPM2_TICKET_FP_H 87b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury#define __TPM2_TICKET_FP_H 97b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury 10c5193c5b37cc5667d110d65ae8b03d5b96fc3c71Vadim Bendeburyvoid TicketComputeAuth( 11f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM_ST type, // IN: the type of ticket. 12f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket 13f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury UINT64 timeout, // IN: timeout 14f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_DIGEST *cpHashA, // IN: input cpHashA 15f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_NONCE *policyRef, // IN: input policyRef 16f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_NAME *entityName, // IN: name of entity 17f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMT_TK_AUTH *ticket // OUT: Created ticket 18f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury ); 197b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendeburyvoid TicketComputeCreation( 20f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy for ticket 21f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_NAME *name, // IN: object name 22f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_DIGEST *creation, // IN: creation hash 23f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMT_TK_CREATION *ticket // OUT: created ticket 24f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury ); 25ccc99fecf622c9d35a9ff935724548968dc59bcbVadim Bendeburyvoid TicketComputeHashCheck( 26f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket 27f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM_ALG_ID hashAlg, // IN: the hash algorithm used to create 'digest' 28f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_DIGEST *digest, // IN: input digest 29f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMT_TK_HASHCHECK *ticket // OUT: Created ticket 30f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury ); 315b7832d0dac10777765bd3968494d918acd78122Vadim Bendeburyvoid TicketComputeVerified( 32f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMI_RH_HIERARCHY hierarchy, // IN: hierarchy constant for ticket 33f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_DIGEST *digest, // IN: digest 34f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPM2B_NAME *keyName, // IN: name of key that signed the value 35f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury TPMT_TK_VERIFIED *ticket // OUT: verified ticket 36f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury ); 37f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim BendeburyBOOL TicketIsSafe(TPM2B *buffer); 387b722a06b8c03235a06731ec4a465bd5e2b5a381Vadim Bendebury 39f788ffb5e5b4493cb4c1deaa12a97c80c2694b01Vadim Bendebury#endif // __TPM2_TICKET_FP_H 40