1tpm2_geteccparameters(1)    General Commands Manual   tpm2_geteccparameters(1)
2
3
4

NAME

6       tpm2_geteccparameters(1)  -  Retrieves  the  parameters of an ECC curve
7       identified by its TCG-assigned curveID.
8

SYNOPSIS

10       tpm2_geteccparameters [OPTIONS]
11

DESCRIPTION

13       tpm2_geteccparameters(1) - Retrieves the parameters  of  an  ECC  curve
14       identified by its TCG-assigned curveID.
15

OPTIONS

17ARGUMENT=ALGORITHM:
18
19         Specify the ECC curve.  Example ecc521.
20
21-o, --output=FILE
22
23         Specify the file path to save the ECC parameters.
24
25   References

Algorithm Specifiers

27       Options that take algorithms support “nice-names”.
28
29       There  are two major algorithm specification string classes, simple and
30       complex.  Only certain algorithms will be accepted by the TPM, based on
31       usage and conditions.
32
33   Simple specifiers
34       These are strings with no additional specification data.  When creating
35       objects, non-specified portions of an object are assumed  to  defaults.
36       You can find the list of known “Simple Specifiers Below”.
37
38   Asymmetric
39       • rsa
40
41       • ecc
42
43   Symmetric
44       • aes
45
46       • camellia
47
48   Hashing Algorithms
49       • sha1
50
51       • sha256
52
53       • sha384
54
55       • sha512
56
57       • sm3_256
58
59       • sha3_256
60
61       • sha3_384
62
63       • sha3_512
64
65   Keyed Hash
66       • hmac
67
68       • xor
69
70   Signing Schemes
71       • rsassa
72
73       • rsapss
74
75       • ecdsa
76
77       • ecdaa
78
79       • ecschnorr
80
81   Asymmetric Encryption Schemes
82       • oaep
83
84       • rsaes
85
86       • ecdh
87
88   Modes
89       • ctr
90
91       • ofb
92
93       • cbc
94
95       • cfb
96
97       • ecb
98
99   Misc
100       • null
101
102   Complex Specifiers
103       Objects,  when  specified  for creation by the TPM, have numerous algo‐
104       rithms to populate in the public data.  Things like  type,  scheme  and
105       asymmetric  details,  key  size,  etc.  Below is the general format for
106       specifying this data: <type>:<scheme>:<symmetric-details>
107
108   Type Specifiers
109       This portion of the complex algorithm specifier is required.   The  re‐
110       maining  scheme  and  symmetric  details will default based on the type
111       specified and the type of the object being created.
112
113       • aes - Default AES: aes128
114
115       • aes128<mode> - 128 bit AES with optional mode  (ctr|ofb|cbc|cfb|ecb).
116         If mode is not specified, defaults to null.
117
118       • aes192<mode> - Same as aes128<mode>, except for a 192 bit key size.
119
120       • aes256<mode> - Same as aes128<mode>, except for a 256 bit key size.
121
122       • ecc - Elliptical Curve, defaults to ecc256.
123
124       • ecc192 - 192 bit ECC
125
126       • ecc224 - 224 bit ECC
127
128       • ecc256 - 256 bit ECC
129
130       • ecc384 - 384 bit ECC
131
132       • ecc521 - 521 bit ECC
133
134       • rsa - Default RSA: rsa2048
135
136       • rsa1024 - RSA with 1024 bit keysize.
137
138       • rsa2048 - RSA with 2048 bit keysize.
139
140       • rsa4096 - RSA with 4096 bit keysize.
141
142   Scheme Specifiers
143       Next, is an optional field, it can be skipped.
144
145       Schemes  are  usually Signing Schemes or Asymmetric Encryption Schemes.
146       Most signing schemes take a hash algorithm directly following the sign‐
147       ing  scheme.   If the hash algorithm is missing, it defaults to sha256.
148       Some take no arguments, and some take multiple arguments.
149
150   Hash Optional Scheme Specifiers
151       These scheme specifiers are followed by a dash and a valid  hash  algo‐
152       rithm, For example: oaep-sha256.
153
154       • oaep
155
156       • ecdh
157
158       • rsassa
159
160       • rsapss
161
162       • ecdsa
163
164       • ecschnorr
165
166   Multiple Option Scheme Specifiers
167       This  scheme  specifier  is  followed by a count (max size UINT16) then
168       followed by a dash(-) and a valid hash algorithm.  * ecdaa For example,
169       ecdaa4-sha256.  If no count is specified, it defaults to 4.
170
171   No Option Scheme Specifiers
172       This scheme specifier takes NO arguments.  * rsaes
173
174   Symmetric Details Specifiers
175       This  field is optional, and defaults based on the type of object being
176       created and it’s attributes.  Generally, any valid Symmetric  specifier
177       from  the Type Specifiers list should work.  If not specified, an asym‐
178       metric objects symmetric details defaults to aes128cfb.
179
180   Examples
181   Create an rsa2048 key with an rsaes asymmetric encryption scheme
182       tpm2_create -C parent.ctx -G rsa2048:rsaes -u key.pub -r key.priv
183
184   Create an ecc256 key with an ecdaa signing scheme with a  count  of  4  and
185       sha384 hash
186       /tpm2_create  -C  parent.ctx  -G  ecc256:ecdaa4-sha384  -u  key.pub  -r
187       key.priv cryptographic algorithms ALGORITHM.
188

COMMON OPTIONS

190       This collection of options are common to many programs and provide  in‐
191       formation that many users may expect.
192
193-h,  --help=[man|no-man]:  Display the tools manpage.  By default, it
194         attempts to invoke the manpager for the  tool,  however,  on  failure
195         will  output  a short tool summary.  This is the same behavior if the
196         “man” option argument is specified, however if explicit “man” is  re‐
197         quested,  the  tool  will  provide errors from man on stderr.  If the
198         “no-man” option if specified, or the manpager fails,  the  short  op‐
199         tions will be output to stdout.
200
201         To  successfully use the manpages feature requires the manpages to be
202         installed or on MANPATH, See man(1) for more details.
203
204-v, --version: Display version information for this  tool,  supported
205         tctis and exit.
206
207-V,  --verbose:  Increase the information that the tool prints to the
208         console during its execution.  When using this option  the  file  and
209         line number are printed.
210
211-Q, --quiet: Silence normal tool output to stdout.
212
213-Z, --enable-errata: Enable the application of errata fixups.  Useful
214         if an errata fixup needs to be applied to commands sent to  the  TPM.
215         Defining  the environment TPM2TOOLS_ENABLE_ERRATA is equivalent.  in‐
216         formation many users may expect.
217

TCTI Configuration

219       The TCTI or “Transmission Interface”  is  the  communication  mechanism
220       with  the TPM.  TCTIs can be changed for communication with TPMs across
221       different mediums.
222
223       To control the TCTI, the tools respect:
224
225       1. The command line option -T or --tcti
226
227       2. The environment variable: TPM2TOOLS_TCTI.
228
229       Note: The command line option always overrides  the  environment  vari‐
230       able.
231
232       The current known TCTIs are:
233
234       • tabrmd      -     The     resource     manager,     called     tabrmd
235         (https://github.com/tpm2-software/tpm2-abrmd).  Note that tabrmd  and
236         abrmd as a tcti name are synonymous.
237
238       • mssim  - Typically used for communicating to the TPM software simula‐
239         tor.
240
241       • device - Used when talking directly to a TPM device file.
242
243       • none - Do not initalize a connection with the TPM.  Some tools  allow
244         for off-tpm options and thus support not using a TCTI.  Tools that do
245         not support it will error when attempted to be used  without  a  TCTI
246         connection.   Does  not  support ANY options and MUST BE presented as
247         the exact text of “none”.
248
249       The arguments to either the command  line  option  or  the  environment
250       variable are in the form:
251
252       <tcti-name>:<tcti-option-config>
253
254       Specifying  an  empty  string  for  either the <tcti-name> or <tcti-op‐
255       tion-config> results in the default being used for that portion respec‐
256       tively.
257
258   TCTI Defaults
259       When  a  TCTI  is not specified, the default TCTI is searched for using
260       dlopen(3) semantics.  The tools will  search  for  tabrmd,  device  and
261       mssim  TCTIs  IN THAT ORDER and USE THE FIRST ONE FOUND.  You can query
262       what TCTI will be chosen as the default by using the -v option to print
263       the  version information.  The “default-tcti” key-value pair will indi‐
264       cate which of the aforementioned TCTIs is the default.
265
266   Custom TCTIs
267       Any TCTI that implements the dynamic TCTI interface can be loaded.  The
268       tools internally use dlopen(3), and the raw tcti-name value is used for
269       the lookup.  Thus, this could be a path to the shared library, or a li‐
270       brary name as understood by dlopen(3) semantics.
271

TCTI OPTIONS

273       This collection of options are used to configure the various known TCTI
274       modules available:
275
276device: For the device TCTI, the TPM character device file for use by
277         the device TCTI can be specified.  The default is /dev/tpm0.
278
279         Example:    -T   device:/dev/tpm0   or   export   TPM2TOOLS_TCTI=“de‐
280         vice:/dev/tpm0”
281
282mssim: For the mssim TCTI, the domain name or  IP  address  and  port
283         number  used  by  the  simulator  can  be specified.  The default are
284         127.0.0.1 and 2321.
285
286         Example: -T mssim:host=localhost,port=2321  or  export  TPM2TOOLS_TC‐
287         TI=“mssim:host=localhost,port=2321”
288
289abrmd:  For  the abrmd TCTI, the configuration string format is a se‐
290         ries of simple key value pairs separated by a  `,'  character.   Each
291         key and value string are separated by a `=' character.
292
293         • TCTI abrmd supports two keys:
294
295           1. `bus_name'  :  The  name  of  the  tabrmd  service on the bus (a
296              string).
297
298           2. `bus_type' : The type of the dbus instance (a string) limited to
299              `session' and `system'.
300
301         Specify  the tabrmd tcti name and a config string of bus_name=com.ex‐
302         ample.FooBar:
303
304                \--tcti=tabrmd:bus_name=com.example.FooBar
305
306         Specify the default (abrmd) tcti and a config string of bus_type=ses‐
307         sion:
308
309                \--tcti:bus_type=session
310
311         NOTE:  abrmd  and tabrmd are synonymous.  the various known TCTI mod‐
312         ules.
313

EXAMPLES

315              tpm2_geteccparameters ecc256 -o ecc.params
316

Returns

318       Tools can return any of the following codes:
319
320       • 0 - Success.
321
322       • 1 - General non-specific error.
323
324       • 2 - Options handling error.
325
326       • 3 - Authentication error.
327
328       • 4 - TCTI related error.
329
330       • 5 - Non supported scheme.  Applicable to tpm2_testparams.
331

BUGS

333       Github Issues (https://github.com/tpm2-software/tpm2-tools/issues)
334

HELP

336       See the Mailing List (https://lists.01.org/mailman/listinfo/tpm2)
337
338
339
340tpm2-tools                                            tpm2_geteccparameters(1)
Impressum