blob: 9b5971e0763270c964c3eb7f7792337cc46f83ec [file] [log] [blame]
Gaurav Shahbf6c4a72010-03-05 10:58:48 -08001"tpm-nvtool\n"
2"Copyright (c) 2009,2010 The Chromium OS Authors. All rights reserved.\n"
3"\n"
4"tpm-nvtool is a command-line program for managing Trusted Platform Module \n"
5"(TPM) Non-Volatile (NV) memory. It allows you to \"define\" (create) and\n"
6"\"release\" (destroy) stores in a TPM's NV memory component. It requires a\n"
7"TPM that complies with TPM Specification version 1.2.\n"
8"\n"
9"Usage:\n"
10"\n"
11"* Creating an NV store\n"
12"\n"
13" --define --index INDEX --owner_password OWNER_PASSWORD --size SIZE \\\n"
14" [--pcr PCR] [--permissions PERMISSIONS] [--index_password INDEX_PASSWORD]\n"
15"\n"
16" The parameters mean the following:\n"
17"\n"
18" INDEX A valid NV index\n"
19" OWNER_PASSWORD TPM owner password\n"
20" SIZE Requested NV store's size in bytes\n"
21" PCR A PCR whose value will be required to read or write to the\n"
22" NV store; multiple PCRs can be specified through multiple\n"
23" instances of this argument\n"
24" PERMISSIONS A comma-separated string consisting of zero or more of the\n"
25" following keywords:\n"
26"\n"
27" AUTHREAD Reads authorized by INDEX_PASSWORD\n"
28" AUTHWRITE Writes authorized by INDEX_PASSWORD\n"
29" OWNERREAD Reads authorized by OWNER_PASSWORD\n"
30" OWNERWRITE Writes authorized by OWNER_PASSWORD\n"
31" PPREAD Reads authorized by Physical Presence\n"
32" PPWRITE Writes authorized by Physical Presence\n"
33" READ_STCLEAR Cannot be read after a zero-sized write;\n"
34" will need a full TPM clear to unlock\n"
35" WRITE_STCLEAR Cannot be written after a zero-sized write\n"
36" will need a full TPM clear to unlock\n"
37" WRITEALL Data must be written all at once\n"
38" \n"
39" INDEX_PASSWORD Password for reading and/or writing to the NV store; required\n"
40" if PERMISSIONS has AUTHREAD or AUTHWRITE\n"
41"\n"
42"* Destroying an NV store\n"
43"\n"
44" --release --index INDEX --owner_password OWNER_PASSWORD\n"
45"\n"
46"* Listing NV stores\n"
47"\n"
48" --list [--index INDEX]\n"
49"\n"
50" By default, all NV stores will be listed. If INDEX is specified, only that\n"
51" index, if it exists, will be listed.\n"
52"\n"
53"* Reading from an NV store\n"
54"\n"
55" --read --index INDEX [--size SIZE] [--offset OFFSET] [--hexdump] \\\n"
56" [--password PASSWORD]\n"
57"\n"
58" The parameters mean the following:\n"
59"\n"
60" INDEX A valid, existing NV index\n"
61" SIZE Number of bytes to read; if specified, must be greater than\n"
62" zero and no larger than the NV store's size; if not specified,\n"
63" the entire NV store will be read\n"
64" OFFSET Offset in bytes to read from; if specified, it must be such\n"
65" that the requested data specified through OFFSET and SIZE\n"
66" lies within the NV store; if not specified, an offset of 0\n"
67" is implied\n"
68" PASSWORD The appropriate password needed for reading\n"
69"\n"
70" By default, data read from the NV store will be dumped as is (raw) to the\n"
71" standard output, which in turn can be redirected to a file. If --hexdump is\n"
72" specified, data bytes will be printed in hexadecimal format instead.o\n"
73"\n"
74"* Writing to an NV store\n"
75"\n"
76" --write --index INDEX --string STRING [--size SIZE] [--offset OFFSET] \\\n"
77" [--password PASSWORD]\n"
78"\n"
79" The parameters mean the following:\n"
80" \n"
81" STRING A null-terminated string that will be written to the NV store\n"
82" SIZE Number of bytes to write; if SIZE is not specified, the entire\n"
83" length of the string (not including the terminating null) is\n"
84" written, provided it fits in the NV store\n"
85" OFFSET Offset in the NV store to write to; if not specified, an\n"
86" offset of 0 is implied\n"
87" PASSWORD The appropriate password needed for reading\n"
88"\n"
89" You can also specify a file instead of an inline string as the source of\n"
90" data to write to the NV store:\n"
91"\n"
92" --write --index INDEX --file PATH [--size SIZE] [--offset OFFSET] \\\n"
93" [--password PASSWORD]\n"
94"\n"
95"* Locking an NV store\n"
96"\n"
97" --writezero --index INDEX [--password PASSWORD]\n"
98"\n"
99" If the NV store's permission attributes contain READ_STCLEAR or WRITE_STCLEAR,\n"
100" using --writezero will lock that store for reading or writing, respectively.\n"
101"\n"