]> git.proxmox.com Git - swtpm.git/blame - man/man8/swtpm_localca.pod
swtpm_setup: Implement option --create-config-files to create config files
[swtpm.git] / man / man8 / swtpm_localca.pod
CommitLineData
e46a2b66
SB
1=head1 NAME
2
3d5ae5e1 3swtpm_localca - Local CA to create EK and platform certs for swtpm
e46a2b66
SB
4
5=head1 SYNOPSIS
6
3d5ae5e1 7B<swtpm_localca [OPTIONS]>
e46a2b66
SB
8
9=head1 DESCRIPTION
10
3d5ae5e1 11B<swtpm_localca> is a tool to create TPM Endorsement Key (EK) and platform
e46a2b66
SB
12certificates on the host. It uses the I<swtpm_cert> program to create
13the certificates.
14
15The program will typically be invoked by the I<swtpm_setup> program
16that uses the I</etc/swtpm_setup.conf> configuration file where
17a variable needs to be set that points to this program.
18It implements command line options that the I<swtpm_setup>
19program uses to provide the necessary parameters to it.
20
3d5ae5e1 21B<swtpm_localca> will automatically try to create the signing key and
373a9084
SB
22certificate if the configuration points to a missing signing key.
23Since this certificate must be signed by a CA, a root certificate authority
24will also be created and will sign this certificate. The root CA's
25private key and certificate will be located in the same directory as the
26signing key and have the names swtpm-localca-rootca-privkey.pem and
15a14c55
SB
27swtpm-localca-rootca-cert.pem respectively. The environment variable
28SWTPM_ROOTCA_PASSWORD can be set for the password of the root CA's
29private key.
373a9084 30
7b72dfed
SB
31Note: Due to limitations of 'certtool', the possible passwords used for
32securing the root CA's private key and the intermedia CA's private
33key have to be passed over the command line and therefore will be visible
34to others on the system. If you are concerned about this, you should create
35the CAs elsewhere and copy them onto the target system.
36
e46a2b66
SB
37The following options are supported:
38
39=over 4
40
41=item B<--type type>
42
43This parameter indicates the type of certificate to create. The type parameter may
44be one of the following: I<ek>, or I<platform>
45
46=item B<--dir dir>
47
48This parameter indicates the directory into which the certificate is to be stored.
49The EK certificate is stored in this directory under the name
50ek.cert and the platform certificate under the name platform.cert.
51
52=item B<--ek ek>
53
54This parameter indicates the modulus of the public key of the endorsement key
55(EK). The public key is provided as a sequence of ASCII hex digits.
56
08da93a9 57In case ECC (elliptic curve crypography) keys are used, the parameter must
72aac899
SB
58have the format --ek x=<hex digits>,y=<hex digits>,id=<curve id>. The
59id=<curve id> part is optional and only necessary for ECC curves other
60than secp256r1.
08da93a9 61
e46a2b66
SB
62=item B<--vmid ID>
63
64This parameter indicates the ID of the VM for which to create the certificate.
65
66=item B<--logfile <logfile>>
67
68The log file to log output to; by default logging goes to stdout and stderr
69on the console.
70
71=item B<--configfile <configuration file>>
72
73The configuration file to use. If omitted, the default configuration
74file I</etc/swtpm-localca.conf> will be used.
75
76=item B<--optsfile <options file>>
77
78The options file to use. If omitted, the default options file
79I</etc/swtpm-localca.options> will be used.
80
ab37e6f3
SB
81=item B<--tpm-spec-family>, B<--tpm-spec-revision>, B<--tpm-spec-level>
82
83TPM specification parameters that describe the specification that was
84followed for the TPM implementation. The parameters will be passed
85to swtpm_cert for the creation of the EK certificate.
86
15226ad9
SB
87=item B<--tpm2>
88
89Create TPM 2 compliant certificates.
90
aaefebcf
SB
91=item B<--allow-signing>
92
93Create an EK that can also be used for signing. Without this option, the
94EK can only be used for key encipherment. This option requires --tpm2.
95
96=item B<--decryption>
97
98If --allow-signing is passed and the EK should also be useable for key
99encipherment, this option must be passed. Otherwise key encipherment is the
100default. This option requires --tpm2.
101
e46a2b66
SB
102=back
103
104=head1 SEE ALSO
105
106B<swtpm-localca.conf>, B<swtpm-localca.options>,
107B<swtpm_setup>, B<swtpm_setup.conf>
108
109=head1 REPORTING BUGS
110
111Report bugs to Stefan Berger <stefanb@linux.vnet.ibm.com>