@@ -10,10 +10,6 @@ version = "2.0"
10
10
# If you set this to "generate", Keylime will create a random UUID.
11
11
# If you set this to "hash_ek", Keylime will set the UUID to the result
12
12
# of 'SHA256(public EK in PEM format)'.
13
- # If you set this to "dmidecode", Keylime will use the UUID from
14
- # 'dmidecode -s system-uuid'.
15
- # If you set this to "hostname", Keylime will use the full qualified domain
16
- # name of current host as the agent id.
17
13
uuid = "d432fbb3-d2f1-4a97-9ef7-75bd81c00000"
18
14
19
15
# The binding address and port for the agent server
@@ -42,6 +38,8 @@ keylime_dir = "/var/lib/keylime"
42
38
# This private key is used to serve the Keylime agent REST API
43
39
# A new private key is generated in case it is not found.
44
40
# If set as "default", the "server-private.pem" value is used.
41
+ # If a relative path is set, it will be considered relative from the keylime_dir.
42
+ # If an absolute path is set, it is used without change
45
43
server_key = "default"
46
44
47
45
# Set the password used to encrypt the private key file.
@@ -54,10 +52,15 @@ server_key_password = ""
54
52
# server TLS certificate.
55
53
# This certificate must be self signed.
56
54
# If set as "default", the "server-cert.crt" value is used
55
+ # If a relative path is set, it will be considered relative from the keylime_dir.
56
+ # If an absolute path is set, it is used without change.
57
57
server_cert = "default"
58
58
59
59
# The CA that signs the client certificates of the tenant and verifier.
60
- # If set as "default" the "cv_ca/cacert.crt" value is used
60
+ # If set as "default" the "cv_ca/cacert.crt" value, relative from the
61
+ # keylime_dir is used.
62
+ # If a relative path is set, it will be considered relative from the keylime_dir.
63
+ # If an absolute path is set, it is used without change.
61
64
trusted_client_ca = "default"
62
65
63
66
# The name that should be used for the encryption key, placed in the
@@ -73,45 +76,48 @@ dec_payload_file = "decrypted_payload"
73
76
# The default below sets it to 1 megabyte.
74
77
secure_size = "1m"
75
78
76
- # Whether to allow the cloud_agent to automatically extract a zip file in
77
- # the delivered payload after it has been decrypted, or not. Defaults to "true".
79
+ # Whether to allow the agent to automatically extract a zip file in the
80
+ # delivered payload after it has been decrypted, or not. Defaults to "true".
78
81
# After decryption, the archive will be unzipped to a directory in $keylime_dir/secure.
79
82
# Note: the limits on the size of the tmpfs partition set above with the 'secure_size'
80
83
# option will affect this.
81
84
extract_payload_zip = true
82
85
83
- # Whether to listen for revocation notifications from the verifier or not.
86
+ # Whether to listen for revocation notifications from the verifier via zeromq.
87
+ # Note: The agent supports receiving revocation notifications via REST API
88
+ # regardless of the value set here.
84
89
enable_revocation_notifications = true
85
90
86
91
# The path to the directory containing the pre-installed revocation action
87
92
# scripts. Ideally should point to an fixed/immutable location subject to
88
93
# attestation. The default is /usr/libexec/keylime.
89
94
revocation_actions_dir = "/usr/libexec/keylime"
90
95
91
- # Revocation IP & Port used by either the cloud_agent to receive revocation
92
- # notifications from the verifier.
96
+ # Revocation IP & Port used by the agent to receive revocation
97
+ # notifications from the verifier via zeromq.
98
+ # This is optional and used only when 'enable_revocation_notifications' is 'true'.
93
99
revocation_notification_ip = "127.0.0.1"
94
100
revocation_notification_port = 8992
95
101
96
102
# The path to the certificate to verify revocation messages received from the
97
- # verifier. The path is relative to $ keylime_dir unless an absolute path is
103
+ # verifier. The path is relative to keylime_dir unless an absolute path is
98
104
# provided (i.e. starts with '/').
99
105
# If set to "default", Keylime will use the file RevocationNotifier-cert.crt
100
- # from the unzipped contents provided by the tenant.
106
+ # from the unzipped payload contents provided by the tenant.
101
107
revocation_cert = "default"
102
108
103
109
# A comma-separated list of executables to run upon receiving a revocation
104
110
# message. Keylime will verify the signature first, then call these executables
105
- # with the json revocation message. The executables must be located in the
106
- # 'revocation_actions' directory.
111
+ # passing the json revocation message.
112
+ # The executables must be located in the 'revocation_actions' directory.
107
113
#
108
114
# Keylime will also get the list of revocation actions from the file
109
- # action_list in the unzipped contents provided by the verifier.
115
+ # action_list in the unzipped payload contents provided by the verifier.
110
116
revocation_actions = ""
111
117
112
- # A script to execute after unzipping the tenant payload. This is like
113
- # cloud-init lite =) Keylime will run it with a /bin/sh environment and
114
- # with a working directory of $keylime_dir/secure/unzipped.
118
+ # A script to execute after unzipping the tenant payload.
119
+ # Keylime will run it with a /bin/sh environment and with a working directory of
120
+ # $keylime_dir/secure/unzipped.
115
121
payload_script = "autorun.sh"
116
122
117
123
# In case mTLS for the agent is disabled and the use of payloads is still
@@ -143,14 +149,16 @@ tpm_signing_alg = "rsassa"
143
149
# create a new EK upon startup, and neither will it flush the EK upon exit.
144
150
ek_handle = "generate"
145
151
146
- # Use this option to state the existing TPM ownerpassword. This option should
147
- # be set only when ek_handle option points to an existing EK.
152
+ # Use this option to state the existing TPM ownerpassword.
153
+ # This option should be set only when a password is set for the Endorsement
154
+ # Hierarchy (e.g. via "tpm2_changeauth -c e").
155
+ # If no password was set, keep the empty string "".
148
156
tpm_ownerpassword = ""
149
157
150
158
# The user account to switch to to drop privileges when started as root
151
159
# If left empty, the agent will keep running with high privileges.
152
160
# The user and group specified here must allow the user to access the
153
- # WORK_DIR (typically /var/lib/keylime) and /dev/tpmrm0. Therefore,
161
+ # WORK_DIR (by default /var/lib/keylime) and /dev/tpmrm0. Therefore, the
154
162
# suggested value for the run_as parameter is keylime:tss.
155
163
# The following commands should be used to set ownership before running the
156
164
# agent:
@@ -168,6 +176,7 @@ run_as = "keylime:tss"
168
176
# Path where to store the agent tpm data which can be loaded later
169
177
# If not an absolute path, it will be considered a relative path from the
170
178
# directory set by the keylime_dir option above
171
- # If set as "default" Keylime will use "agent_data.json"
179
+ # If set as "default" Keylime will use "agent_data.json", located at
180
+ # keylime_dir.
172
181
agent_data_path = "default"
173
182
0 commit comments