#!/usr/bin/env python from argparse import ArgumentParser from argparse import FileType import os import sys import tpm2 def main(): parser = ArgumentParser(description='Create a storage root key') parser.add_argument('--debug', action='store_true', help='dump TPM commands and replies') parser.add_argument('--name-alg', dest='name_alg', metavar='NAMEALG', help='hash algorithm', type=tpm2.get_algorithm, default='sha1') args = parser.parse_args() flags = 0 if args.debug: flags |= tpm2.Client.FLAG_DEBUG client = tpm2.Client(flags) try: for i in xrange(0, 16): h = client.read_pcr(i, bank_alg=args.name_alg) print("%02d: %s" % (i, h.encode('hex'))) except tpm2.ProtocolError, e: sys.stderr.write(str(e) + os.linesep) sys.exit(1) if __name__ == '__main__': main()