TPM_READPUBEK(3)

NAME
TPM_ReadPubek, TPM_PcrRead - Retrieve static information from the TPM chip

LIBRARY
tcpa

SYNOPSIS
#include <tcpa.h>
uint32_t
TPM_ReadPubek(pubkeydata *k, FILE *log);
uint32_t
TPM_PcrRead(uint32_t pcrindex, unsigned char *pcrvalue, FILE *log);

DESCRIPTION
Togethers, these functions allow a program to query the TPM chip for its static data. Both of the functions take the log parameter. This is used for diagnostic purposed, and outputs debugging information to this FILE if non-NULL.

There is a public encryption key that is stored in the chip, is unique to the chip, is set at manufacture time into the chip, and cannot be deleted. The public component of this key can be retrieved with the TPM_ReadPubek() function. The key is stored in *k.

Also, there are a set of Platform Configuration Registers which store the SHA1 hashes of various system components. These hashes represent the state of a system. Example components are the bios, bootloader, and kernel. Each component has a separate hash stored in a numbered PCR. The TPM_PcrRead() function allows the PCR number pcrindex to be read, and stores its value in *pcrvalue. Each PCR value is a 20 byte array which represents a SHA1 hash.

RETURN VALUES

SEE ALSO
TPM_Transmit(3), TPM_OIAP(3), TPM_GetCapability_Version(3), TPM_TakeOwnership(3), TPM_LoadKey(3), TPM_Seal(3), TPM_Sign(3)

AUTHORS
Rick Wash <rwash@citi.umich.edu>