Added --all-transient option to tpm2-flush Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
diff --git a/tpm2-flush b/tpm2-flush index 586c6dc..9e3bbf8 100755 --- a/tpm2-flush +++ b/tpm2-flush
@@ -7,12 +7,15 @@ 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 @@ 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)