@@ -10,10 +10,6 @@ version = "2.0"
1010# If you set this to "generate", Keylime will create a random UUID.
1111# If you set this to "hash_ek", Keylime will set the UUID to the result
1212# 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.
1713uuid = "d432fbb3-d2f1-4a97-9ef7-75bd81c00000"
1814
1915# The binding address and port for the agent server
@@ -42,6 +38,8 @@ keylime_dir = "/var/lib/keylime"
4238# This private key is used to serve the Keylime agent REST API
4339# A new private key is generated in case it is not found.
4440# 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
4543server_key = "default"
4644
4745# Set the password used to encrypt the private key file.
@@ -54,10 +52,15 @@ server_key_password = ""
5452# server TLS certificate.
5553# This certificate must be self signed.
5654# 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.
5757server_cert = "default"
5858
5959# 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.
6164trusted_client_ca = "default"
6265
6366# The name that should be used for the encryption key, placed in the
@@ -73,45 +76,48 @@ dec_payload_file = "decrypted_payload"
7376# The default below sets it to 1 megabyte.
7477secure_size = "1m"
7578
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".
7881# After decryption, the archive will be unzipped to a directory in $keylime_dir/secure.
7982# Note: the limits on the size of the tmpfs partition set above with the 'secure_size'
8083# option will affect this.
8184extract_payload_zip = true
8285
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.
8489enable_revocation_notifications = true
8590
8691# The path to the directory containing the pre-installed revocation action
8792# scripts. Ideally should point to an fixed/immutable location subject to
8893# attestation. The default is /usr/libexec/keylime.
8994revocation_actions_dir = "/usr/libexec/keylime"
9095
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'.
9399revocation_notification_ip = "127.0.0.1"
94100revocation_notification_port = 8992
95101
96102# 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
98104# provided (i.e. starts with '/').
99105# 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.
101107revocation_cert = "default"
102108
103109# A comma-separated list of executables to run upon receiving a revocation
104110# 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.
107113#
108114# 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.
110116revocation_actions = ""
111117
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.
115121payload_script = "autorun.sh"
116122
117123# In case mTLS for the agent is disabled and the use of payloads is still
@@ -143,14 +149,16 @@ tpm_signing_alg = "rsassa"
143149# create a new EK upon startup, and neither will it flush the EK upon exit.
144150ek_handle = "generate"
145151
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 "".
148156tpm_ownerpassword = ""
149157
150158# The user account to switch to to drop privileges when started as root
151159# If left empty, the agent will keep running with high privileges.
152160# 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
154162# suggested value for the run_as parameter is keylime:tss.
155163# The following commands should be used to set ownership before running the
156164# agent:
@@ -168,6 +176,7 @@ run_as = "keylime:tss"
168176# Path where to store the agent tpm data which can be loaded later
169177# If not an absolute path, it will be considered a relative path from the
170178# 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.
172181agent_data_path = "default"
173182
0 commit comments