From 82c4adbc8f4e63b5ced20e571f6c69a4b72e230b Mon Sep 17 00:00:00 2001 From: Jarkko Sakkinen Date: Fri, 9 Dec 2016 00:21:50 +0200 Subject: Added --all-transient option to tpm2-flush Signed-off-by: Jarkko Sakkinen --- tpm2-flush | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tpm2-flush b/tpm2-flush index 586c6dc..9e3bbf8 100755 --- a/tpm2-flush +++ b/tpm2-flush @@ -7,12 +7,15 @@ import sys import tpm2 def main(): - parser = ArgumentParser(description='Create a storage root key') + parser = ArgumentParser(description='Flush a volatile contetxt') parser.add_argument('--debug', action='store_true', help = 'dump TPM commands and replies') + parser.add_argument('--all-transient', + action='store_true', + help = 'flush all transient handles') parser.add_argument('handles', metavar='H', type = (lambda x: int(x, 0)), - nargs='+', help = 'a TPM resource handle') + nargs='*', help = 'a TPM resource handle') args = parser.parse_args() flags = 0 @@ -22,12 +25,13 @@ def main(): client = tpm2.Client(flags) - if len(args.handles) == 0: - parser.print_help() - sys.exit(1) + if args.all_transient: + handles = client.get_cap(tpm2.TPM2_CAP_HANDLES, tpm2.HR_TRANSIENT) + else: + handles = args.handles try: - for h in args.handles: + for h in handles: client.flush_context(h) except tpm2.ProtocolError, e: sys.stderr.write(str(e) + os.linesep) -- cgit 1.2.3-korg