<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/index.php?action=history&amp;feed=atom&amp;title=User%3AVixalien%2FClevis</id>
	<title>User:Vixalien/Clevis - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/index.php?action=history&amp;feed=atom&amp;title=User%3AVixalien%2FClevis"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Vixalien/Clevis&amp;action=history"/>
	<updated>2026-05-01T22:43:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Vixalien/Clevis&amp;diff=28776&amp;oldid=prev</id>
		<title>Vixalien at 22:45, 12 January 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Vixalien/Clevis&amp;diff=28776&amp;oldid=prev"/>
		<updated>2025-01-12T22:45:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:45, 12 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you need the TPM functionality, you will also need to install {{pkg|tpm2-tools}} and {{pkg|tpm2-tss-tcti-device}}. See [https://gitlab.alpinelinux.org/alpine/aports/-/issues/15985 See issue]:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you need the TPM functionality, you will also need to install {{pkg|tpm2-tools}} and {{pkg|tpm2-tss-tcti-device}}. See [https://gitlab.alpinelinux.org/alpine/aports/-/issues/15985 See issue]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # apk add -t clevis-tpm clevis tpm2-tss-tcti-device&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # apk add -t clevis-tpm &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tpm2-tools &lt;/ins&gt;clevis tpm2-tss-tcti-device&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Testing ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Testing ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vixalien</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Vixalien/Clevis&amp;diff=28775&amp;oldid=prev</id>
		<title>Vixalien at 22:26, 12 January 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Vixalien/Clevis&amp;diff=28775&amp;oldid=prev"/>
		<updated>2025-01-12T22:26:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:26, 12 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you need the TPM functionality, you will also need to install {{pkg|tpm2-tools}} and {{pkg|tpm2-tss-tcti-device}}. See [https://gitlab.alpinelinux.org/alpine/aports/-/issues/15985 See issue]:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If you need the TPM functionality, you will also need to install {{pkg|tpm2-tools}} and {{pkg|tpm2-tss-tcti-device}}. See [https://gitlab.alpinelinux.org/alpine/aports/-/issues/15985 See issue]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # apk add -t clevis-tpm clevis &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tpm2-tools &lt;/del&gt;tpm2-tss-tcti-device&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # apk add -t clevis-tpm clevis tpm2-tss-tcti-device&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Testing ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Testing ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You may wish to encrypt some data using your TPM with clevis:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You may wish to encrypt some data using your TPM with clevis:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # echo &#039;hello, world&#039; | clevis encrypt tpm2 &#039;{}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  # echo &#039;hello, world&#039; | clevis encrypt tpm2 &#039;{}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  eyJhbGciOiJkaXIiLCJjbGV2aXMiOnsicGluIjoidHBtMiIsInRwbTIiOnsiaGFzaCI6InNoYTI1NiIsImp3a19wcml2IjoiQU80QUlETDZOQlp1dFktZUg2YjdNUUFtazNxNE5MTGRDYWFrM2tJUHBsOWtRUmlxQUJEaFFGSks0MWVWQXMtUElKbmsxUW9MS0hVVnhoQmM5RVlZZ1hfc1MzaS1EYUQ1aXZQdmZybUxSY25TZGxYRWtvSE1qN0lMekFvY29ZQ2FnRGNxczBYcVFCRkhqTkxFaW5PM3NySjAxTlo3QkExX2tnR0t1THVISC1pVUpESGZNQklnUFFsMzUyb3dSeFdPVUhuWnFiRk5rTU9WekVRS1ZTYUlUUlZtMEhnZHEwTWtpYV9HSjB2bGFXYkJtUE45SU1weGZXTTU3dGdGSnBRYXBobkNoZUsyLUkzeHNnY01rb2N3eUNnTzRZUnlZOXcxZGx4aVhxYURoc0xpcnJMV3E3SFFuZkRCVXlvU2hTWC0iLCJqd2tfcHViIjoiQUM0QUNBQUxBQUFFMGdBQUFCQUFJTlBYYkNWd3BNRUVnUkRGVF9VVVZ6c3Flb3dpWW5PSEZiVmZfV3ZHTUFTOCIsImtleSI6ImVjYyJ9fSwiZW5jIjoiQTI1NkdDTSJ9..F117H8zDNXxuOzxr.KCPhBegjQRx3Sv6uFg.yC9EbXhI8twv48oohl3KOw&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  eyJhbGciOiJkaXIiLCJjbGV2aXMiOnsicGluIjoidHBtMiIsInRwbTIiOnsiaGFzaCI6InNoYTI1NiIsImp3a19wcml2IjoiQU80QUlETDZOQlp1dFktZUg2YjdNUUFtazNxNE5MTGRDYWFrM2tJUHBsOWtRUmlxQUJEaFFGSks0MWVWQXMtUElKbmsxUW9MS0hVVnhoQmM5RVlZZ1hfc1MzaS1EYUQ1aXZQdmZybUxSY25TZGxYRWtvSE1qN0lMekFvY29ZQ2FnRGNxczBYcVFCRkhqTkxFaW5PM3NySjAxTlo3QkExX2tnR0t1THVISC1pVUpESGZNQklnUFFsMzUyb3dSeFdPVUhuWnFiRk5rTU9WekVRS1ZTYUlUUlZtMEhnZHEwTWtpYV9HSjB2bGFXYkJtUE45SU1weGZXTTU3dGdGSnBRYXBobkNoZUsyLUkzeHNnY01rb2N3eUNnTzRZUnlZOXcxZGx4aVhxYURoc0xpcnJMV3E3SFFuZkRCVXlvU2hTWC0iLCJqd2tfcHViIjoiQUM0QUNBQUxBQUFFMGdBQUFCQUFJTlBYYkNWd3BNRUVnUkRGVF9VVVZ6c3Flb3dpWW5PSEZiVmZfV3ZHTUFTOCIsImtleSI6ImVjYyJ9fSwiZW5jIjoiQTI1NkdDTSJ9..F117H8zDNXxuOzxr.KCPhBegjQRx3Sv6uFg.yC9EbXhI8twv48oohl3KOw&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vixalien</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=User:Vixalien/Clevis&amp;diff=27841&amp;oldid=prev</id>
		<title>Vixalien: Added the Clevis page</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=User:Vixalien/Clevis&amp;diff=27841&amp;oldid=prev"/>
		<updated>2024-11-18T02:14:36Z</updated>

		<summary type="html">&lt;p&gt;Added the Clevis page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[https://github.com/latchset/clevis/ Clevis] is a tool that allows, among many other things, to automatically decrypt LUKS volume at boot-time automatically using the TPM without requiring the manual input of a password.&lt;br /&gt;
&lt;br /&gt;
{{Warning|If you use Clevis to automatically decrypt your disk at boot, your computer will unlock automatically, and this can be a security issue}}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
To use clevis install the {{pkg|clevis}} package.&lt;br /&gt;
&lt;br /&gt;
If you need the TPM functionality, you will also need to install {{pkg|tpm2-tools}} and {{pkg|tpm2-tss-tcti-device}}. See [https://gitlab.alpinelinux.org/alpine/aports/-/issues/15985 See issue]:&lt;br /&gt;
&lt;br /&gt;
 # apk add -t clevis-tpm clevis tpm2-tools tpm2-tss-tcti-device&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
You may wish to encrypt some data using your TPM with clevis:&lt;br /&gt;
&lt;br /&gt;
 # echo &amp;#039;hello, world&amp;#039; | clevis encrypt tpm2 &amp;#039;{}&lt;br /&gt;
&lt;br /&gt;
 eyJhbGciOiJkaXIiLCJjbGV2aXMiOnsicGluIjoidHBtMiIsInRwbTIiOnsiaGFzaCI6InNoYTI1NiIsImp3a19wcml2IjoiQU80QUlETDZOQlp1dFktZUg2YjdNUUFtazNxNE5MTGRDYWFrM2tJUHBsOWtRUmlxQUJEaFFGSks0MWVWQXMtUElKbmsxUW9MS0hVVnhoQmM5RVlZZ1hfc1MzaS1EYUQ1aXZQdmZybUxSY25TZGxYRWtvSE1qN0lMekFvY29ZQ2FnRGNxczBYcVFCRkhqTkxFaW5PM3NySjAxTlo3QkExX2tnR0t1THVISC1pVUpESGZNQklnUFFsMzUyb3dSeFdPVUhuWnFiRk5rTU9WekVRS1ZTYUlUUlZtMEhnZHEwTWtpYV9HSjB2bGFXYkJtUE45SU1weGZXTTU3dGdGSnBRYXBobkNoZUsyLUkzeHNnY01rb2N3eUNnTzRZUnlZOXcxZGx4aVhxYURoc0xpcnJMV3E3SFFuZkRCVXlvU2hTWC0iLCJqd2tfcHViIjoiQUM0QUNBQUxBQUFFMGdBQUFCQUFJTlBYYkNWd3BNRUVnUkRGVF9VVVZ6c3Flb3dpWW5PSEZiVmZfV3ZHTUFTOCIsImtleSI6ImVjYyJ9fSwiZW5jIjoiQTI1NkdDTSJ9..F117H8zDNXxuOzxr.KCPhBegjQRx3Sv6uFg.yC9EbXhI8twv48oohl3KOw&lt;br /&gt;
&lt;br /&gt;
The result will be a base-64 encoded string encrypted with your computer&amp;#039;s TPM2 key. This means that the message can only be decoded from this current computer (or more precisely, the same TPM2 chip that encoded it).&lt;br /&gt;
&lt;br /&gt;
 # echo &amp;quot;eyJhbGciOiJkaXIiLCJjbGV2aXMiOnsicGluIjoidHBtMiIsInRwbTIiOnsiaGFzaCI6InNoYTI1NiIsImp3a19wcml2IjoiQU80QUlETDZOQlp1dFktZUg2YjdNUUFtazNxNE5MTGRDYWFrM2tJUHBsOWtRUmlxQUJEaFFGSks0MWVWQXMtUElKbmsxUW9MS0hVVnhoQmM5RVlZZ1hfc1MzaS1EYUQ1aXZQdmZybUxSY25TZGxYRWtvSE1qN0lMekFvY29ZQ2FnRGNxczBYcVFCRkhqTkxFaW5PM3NySjAxTlo3QkExX2tnR0t1THVISC1pVUpESGZNQklnUFFsMzUyb3dSeFdPVUhuWnFiRk5rTU9WekVRS1ZTYUlUUlZtMEhnZHEwTWtpYV9HSjB2bGFXYkJtUE45SU1weGZXTTU3dGdGSnBRYXBobkNoZUsyLUkzeHNnY01rb2N3eUNnTzRZUnlZOXcxZGx4aVhxYURoc0xpcnJMV3E3SFFuZkRCVXlvU2hTWC0iLCJqd2tfcHViIjoiQUM0QUNBQUxBQUFFMGdBQUFCQUFJTlBYYkNWd3BNRUVnUkRGVF9VVVZ6c3Flb3dpWW5PSEZiVmZfV3ZHTUFTOCIsImtleSI6ImVjYyJ9fSwiZW5jIjoiQTI1NkdDTSJ9..F117H8zDNXxuOzxr.KCPhBegjQRx3Sv6uFg.yC9EbXhI8twv48oohl3KOw&amp;quot; | clevis decrypt tpm2 &amp;#039;{}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 hello, world&lt;br /&gt;
&lt;br /&gt;
== Encrypt a LUKS volume ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|Remember to add a backup password in case TPM unlocking fails using:&lt;br /&gt;
&lt;br /&gt;
 # cryptsetup luksAddKey /dev/sda1&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Use the following command to bind a LUKS volume to your TPM:&lt;br /&gt;
&lt;br /&gt;
 # clevis luks bind -d /dev/sda1 tpm2 &amp;#039;{}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The {{ic|&amp;#039;{}&amp;#039;|}} contains the configuration. For example, you can use the following command to seal the LUKS key against UEFI settings AND the [[Secure Boot]] policy, meaning clevis will be unable to unlock the device if either the UEFI settings changes or the SecureBoot keys are changed, and you&amp;#039;ll need to rebind the volume after inputting your backup password&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;{&amp;quot;pcr_ids&amp;quot;:&amp;quot;1,7&amp;quot;}&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See {{ic|&amp;#039;man 1 clevis-encrypt-tpm2&amp;#039;|}} for all possible configuration options.&lt;br /&gt;
&lt;br /&gt;
== mkinitfs hook ==&lt;br /&gt;
&lt;br /&gt;
After binding your LVM volume to your TPM, you may wish for it to be unlocked automatically when your device boots. Currently, this process is a bit tedious, but will hopefully be improved in the future.&lt;br /&gt;
&lt;br /&gt;
=== mkinitfs feature ===&lt;br /&gt;
&lt;br /&gt;
First, create the following files with the following content. They allow all the kernel modules and files needed to unlock LUKS devices with the TPM to be copied to the initramfs.&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/mkinitfs/features.d/clevis-tpm.modules|kernel/drivers/char/tpm&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/mkinitfs/features.d/clevis-tpm.files|/bin/bash&lt;br /&gt;
/usr/bin/clevis&lt;br /&gt;
/usr/bin/clevis-decrypt&lt;br /&gt;
/usr/bin/clevis-decrypt-tpm2&lt;br /&gt;
/usr/bin/clevis-luks-unlock&lt;br /&gt;
/usr/bin/clevis-luks-common-functions&lt;br /&gt;
/usr/bin/jose&lt;br /&gt;
/usr/bin/tpm2_createprimary&lt;br /&gt;
/usr/bin/tpm2_unseal&lt;br /&gt;
/usr/bin/tpm2_load&lt;br /&gt;
/usr/bin/tpm2_flushcontext&lt;br /&gt;
/usr/lib/libjansson.so.4&lt;br /&gt;
/usr/lib/libjose.so.0&lt;br /&gt;
/usr/lib/libtss2-tcti-device.so.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Then, add the &amp;lt;code&amp;gt;clevis-tpm&amp;lt;/code&amp;gt; feature to {{path|/etc/mkinitfs/mkinitfs.conf}}:&lt;br /&gt;
&lt;br /&gt;
 features=&amp;quot;ata base cdrom ext4 keymap kms mmc nvme raid scsi usb virtio &amp;#039;&amp;#039;&amp;#039;clevis-tpm&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Don&amp;#039;t forgot to regenerate your initramfs&lt;br /&gt;
&lt;br /&gt;
 # apk fix kernel-hooks&lt;br /&gt;
&lt;br /&gt;
=== init script ===&lt;br /&gt;
&lt;br /&gt;
Now, everything that&amp;#039;s needed to unbind the LUKS device with the TPM is now included in the initramfs. All that&amp;#039;s needed is to actually unlock the device in the initramfs. Since [https://gitlab.alpinelinux.org/alpine/mkinitfs/-/issues/18 it&amp;#039;s currently not possible to run custom scripts in the init], you will need to manually edit the init and allow it to decrypt the disk with clevis if possible.&lt;br /&gt;
&lt;br /&gt;
{{Warning|This part of the guide has not been tested yet. You have been warned!}}&lt;br /&gt;
&lt;br /&gt;
Edit the file {{path|/usr/share/mkinitfs/initramfs-init}}, and replace the text:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if [ -n &amp;quot;$KOPT_cryptroot&amp;quot; ]; then&lt;br /&gt;
	cryptopts=&amp;quot;-c ${KOPT_cryptroot}&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$KOPT_cryptdiscards&amp;quot; = &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -D&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -n &amp;quot;$KOPT_cryptdm&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -m ${KOPT_cryptdm}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -n &amp;quot;$KOPT_cryptheader&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -H ${KOPT_cryptheader}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -n &amp;quot;$KOPT_cryptoffset&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -o ${KOPT_cryptoffset}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$KOPT_cryptkey&amp;quot; = &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -k /crypto_keyfile.bin&amp;quot;&lt;br /&gt;
	elif [ -n &amp;quot;$KOPT_cryptkey&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -k ${KOPT_cryptkey}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And replace it with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if [ -n &amp;quot;$KOPT_cryptroot&amp;quot; ]; then&lt;br /&gt;
	cryptopts=&amp;quot;-c ${KOPT_cryptroot}&amp;quot;&lt;br /&gt;
	clevisopts=&amp;quot;-d ${KOPT_cryptroot}&amp;quot;&lt;br /&gt;
	if [ &amp;quot;$KOPT_cryptdiscards&amp;quot; = &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -D&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -n &amp;quot;$KOPT_cryptdm&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -m ${KOPT_cryptdm}&amp;quot;&lt;br /&gt;
		clevisopts=&amp;quot;-n ${KOPT_cryptopts}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -n &amp;quot;$KOPT_cryptheader&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -H ${KOPT_cryptheader}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ -n &amp;quot;$KOPT_cryptoffset&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -o ${KOPT_cryptoffset}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
	if [ &amp;quot;$KOPT_cryptkey&amp;quot; = &amp;quot;yes&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -k /crypto_keyfile.bin&amp;quot;&lt;br /&gt;
	elif [ -n &amp;quot;$KOPT_cryptkey&amp;quot; ]; then&lt;br /&gt;
		cryptopts=&amp;quot;$cryptopts -k ${KOPT_cryptkey}&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ -n &amp;quot;$clevisopts&amp;quot; ]; then&lt;br /&gt;
  clevis luks unlock $clevisopts&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/latchset/clevis/ Project homepage]&lt;br /&gt;
* [https://wiki.archlinux.org/title/Clevis Clevis on ArchWiki]&lt;br /&gt;
* [https://github.com/latchset/clevis/blob/master/src/initramfs-tools/hooks/clevis.in clevis initramfs-tools hook]&lt;br /&gt;
* [https://github.com/kishorv06/arch-mkinitcpio-clevis-hook mkinitcpio-clevis-hook&amp;#039;s homepage]&lt;/div&gt;</summary>
		<author><name>Vixalien</name></author>
	</entry>
</feed>