# Functions
CheckSubset verifies if the pcrs PCRs are a valid "subset" of the provided "superset" of PCRs.
FormatPCRs writes a multiline representation of the PCR values to w.
GetSigningHashAlg returns the hash algorithm used for a signing key.
PCRDigest computes the digest of the Pcrs.
PCRSelection returns the corresponding tpm2.PCRSelection for the PCR data.
PCRSessionAuth calculates the authorization value for the given PCRs.
PubKeysEqual returns whether the two public keys are equal.
SamePCRSelection checks if the Pcrs has the same PCRSelection as the provided given tpm2.PCRSelection (including the hash algorithm).
VerifyQuote performs the following checks to validate a Quote: - the provided signature is generated by the trusted AK public key - the signature signs the provided quote data - the quote data starts with TPM_GENERATED_VALUE - the quote data is a valid TPMS_QUOTE_INFO - the quote data was taken over the provided PCRs - the provided PCR values match the quote data internal digest - the provided extraData matches that in the quote data - the signature hash algorithm must be in HashAlgs
Note that the caller must have already established trust in the provided public key before validating the Quote.
# Variables
SignatureHashAlgs are the hash algorithms we support for Quote signatures, in their preferred order of use.