From f6bc6d54f8ffca97061f88ce7cf1ed236d8fcaf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1=20autouploader?= Date: Sat, 25 Nov 2023 16:48:05 +0000 Subject: [PATCH] Manpage update by job 1100841 --- tzpfms.pdf | Bin 70234 -> 65725 bytes tzpfms.ps | 1138 +++++++++++++++++------------------ zfs-tpm-list.8 | 2 +- zfs-tpm-list.8.html | 2 +- zfs-tpm1x-change-key.8 | 2 +- zfs-tpm1x-change-key.8.html | 2 +- zfs-tpm1x-clear-key.8 | 2 +- zfs-tpm1x-clear-key.8.html | 2 +- zfs-tpm1x-load-key.8 | 2 +- zfs-tpm1x-load-key.8.html | 2 +- zfs-tpm2-change-key.8 | 2 +- zfs-tpm2-change-key.8.html | 2 +- zfs-tpm2-clear-key.8 | 2 +- zfs-tpm2-clear-key.8.html | 2 +- zfs-tpm2-load-key.8 | 2 +- zfs-tpm2-load-key.8.html | 2 +- 16 files changed, 577 insertions(+), 589 deletions(-) diff --git a/tzpfms.pdf b/tzpfms.pdf index a3a7669c35d4eb34fba631b40d5806ae6bf1cfe8..929871525ea7961e895dbcb43e4510ede3fba99a 100644 GIT binary patch delta 48236 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 delta 52592 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 setpagedevice %%EndFeature -%%IncludeResource: font Times-Italic %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Courier-Bold -%%IncludeResource: font Courier %%IncludeResource: font Courier-Oblique +%%IncludeResource: font Courier %%IncludeResource: font Symbol +%%IncludeResource: font Times-Italic grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron /Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef @@ -267,573 +267,563 @@ def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def -/Courier-Oblique@0 ENC0/Courier-Oblique RE/Courier@0 ENC0/Courier RE -/Courier-Bold@0 ENC0/Courier-Bold RE/Times-Bold@0 ENC0/Times-Bold RE -/Times-Roman@0 ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE +/Times-Italic@0 ENC0/Times-Italic RE/Courier@0 ENC0/Courier RE +/Courier-Oblique@0 ENC0/Courier-Oblique RE/Courier-Bold@0 ENC0 +/Courier-Bold RE/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0 +/Times-Roman RE %%EndSetup %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM-LIST)72 48 Q/F1 10/Times-Roman@0 SF -96.343(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G(anual)-2.5 E F0 -(ZFS-TPM-LIST)96.342 E F1(\(8\))A/F2 10/Times-Bold@0 SF -.2(NA)72 84 S -(ME).2 E F1(zfs-tpm-list \212 print dataset tzpfms metadata)108 96 Q F2 -(SYNOPSIS)72 112.8 Q/F3 10/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q F1 -([)2.5 E/F4 10/Courier@0 SF1.666 E F1 2.5(][)C F4-.834 E F1 -(|)A F41.666 E/F5 10/Courier-Oblique@0 SF(depth)6 E F1 2.5(][)C F4 --.834 E F1(|)A F41.666 E F5(back-end)6 E F1 2.5(][)C F4 --.834 E F1(|)A F41.666 E F1(])A([)186 136.8 Q F5(filesystem) -A F1(|)A F5(volume)A F1 1.666(]...)C F2(DESCRIPTION)72 153.6 Q F1 -(Lists the follo)108 165.6 Q(wing properties on encryption roots:)-.25 E -F4(name)128 177.6 Q(back-end)128 189.6 Q F1(the)187 189.6 Q F3(tzpfms) -4.897 E F1 2.396(back-end \(e.g.)4.896 F F2(TPM2)4.896 E F1(for)4.896 E -F0(zfs-tpm2-c)4.896 E(hang)-.15 E(e-k)-.1 E -.3(ey)-.1 G F1 2.396 -(\(8\) or).3 F F2(TPM1.X)4.896 E F1(for)4.896 E F0(zfs-tpm1x-c)187 201.6 -Q(hang)-.15 E(e-k)-.1 E -.3(ey)-.1 G F1(\(8\)\), or ").3 E F2(-)A F1 2.5 -("i)C 2.5(fn)-2.5 G(one is con\214gured)-2.5 E F4(keystatus)128 213.6 Q -F2 -2.1 -.25(av a)187 213.6 T(ilable).25 E F1(or)2.5 E F2(una)2.5 E -.1 -(va)-.25 G(ilable).1 E F4(coherent)128 225.6 Q F2 -.1(ye)187 225.6 S(s) -.1 E F1 10.289(if either both)12.789 F F4 -(xyz.nabijaczleweli:tzpfms.backend)12.789 E F1(and)12.789 E F4 -(xyz.nabijaczleweli:tzpfms.key)187 237.6 Q F1(are present or missing,) -2.5 E F2(no)2.5 E F1(otherwise)2.5 E 8.743(Incoherent datasets require \ -immediate operator attention, with either the appropriate)108 254.4 R F3 -(zfs-tpm)108 266.4 Q/F6 10/Symbol SF(*)A F3(-clear-key)A F1 1.778 -(program or)4.277 F F3(zfs)4.278 E F4(change-key)7.778 E F1(and)4.278 E -F3(zfs)4.278 E F4(inherit)7.778 E F1 4.278<8a69>4.278 G 4.278(ft)-4.278 -G 1.778(he k)-4.278 F 2.078 -.15(ey b)-.1 H(e-).15 E .566 -(comes unloaded, the)108 278.4 R 3.066(yw)-.15 G .566 -(ill require restoration from back-up.)-3.066 F(Ho)5.566 E(we)-.25 E --.15(ve)-.25 G 1.366 -.4(r, t).15 H .566(his should ne).4 F -.15(ve)-.25 -G 3.065(ro).15 G(ccur)-3.065 E 3.065(,u)-.4 G(nless)-3.065 E +/F0 10/Times-Roman@0 SF 93.563(ZFS-TPM-LIST\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 91.062(anual ZFS-TPM-LIST\(8\))-2.5 F/F1 +10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F0 +(zfs-tpm-list \212 print dataset tzpfms metadata)108 96 Q F1(SYNOPSIS)72 +112.8 Q/F2 10/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q F0([)2.5 E F2 +1.666 E F0 2.5(][)C F2-.834 E F0(|)A F21.666 E/F3 10 +/Courier-Oblique@0 SF(depth)6 E F0 2.5(][)C F2-.834 E F0(|)A F2 +1.666 E F3(back-end)6 E F0 2.5(][)C F2-.834 E F0(|)A F2 +1.666 E F0(])A([)186 136.8 Q F3(filesystem)A F0(|)A F3(volume)A F0 +1.666(]...)C F1(DESCRIPTION)72 153.6 Q F0(Lists the follo)108 165.6 Q +(wing properties on encryption roots:)-.25 E/F4 10/Courier@0 SF(name)128 +177.6 Q(back-end)128 189.6 Q F0(the)187 189.6 Q F2(tzpfms)2.979 E F0 +.478(back-end \(e.g.)2.978 F F1(TPM2)2.978 E F0(for)2.978 E F4 +(zfs-tpm2-change-key)2.978 E F0 .478(\(8\) or)B F1(TPM1.X)2.978 E F0 +(for)187 201.6 Q F4(zfs-tpm1x-change-key)2.5 E F0(\(8\)\), or ")A F1(-)A +F0 2.5("i)C 2.5(fn)-2.5 G(one is con\214gured)-2.5 E F4(keystatus)128 +213.6 Q F1 -2.1 -.25(av a)187 213.6 T(ilable).25 E F0(or)2.5 E F1(una) +2.5 E -.1(va)-.25 G(ilable).1 E F4(coherent)128 225.6 Q F1 -.1(ye)187 +225.6 S(s).1 E F0 10.289(if either both)12.789 F F4 +(xyz.nabijaczleweli:tzpfms.backend)12.789 E F0(and)12.789 E F4 +(xyz.nabijaczleweli:tzpfms.key)187 237.6 Q F0(are present or missing,) +2.5 E F1(no)2.5 E F0(otherwise)2.5 E 8.743(Incoherent datasets require \ +immediate operator attention, with either the appropriate)108 254.4 R F2 +(zfs-tpm)108 266.4 Q/F5 10/Symbol SF(*)A F2(-clear-key)A F0 1.778 +(program or)4.277 F F2 1.778(zfs change-key)4.278 F F0(and)4.278 E F2 +1.778(zfs inherit)4.278 F F0 4.278<8a69>4.278 G 4.278(ft)-4.278 G 1.778 +(he k)-4.278 F 2.078 -.15(ey b)-.1 H(e-).15 E .566(comes unloaded, the) +108 278.4 R 3.066(yw)-.15 G .566(ill require restoration from back-up.) +-3.066 F(Ho)5.566 E(we)-.25 E -.15(ve)-.25 G 1.366 -.4(r, t).15 H .566 +(his should ne).4 F -.15(ve)-.25 G 3.065(ro).15 G(ccur)-3.065 E 3.065 +(,u)-.4 G(nless)-3.065 E (something went horribly wrong with the dataset properties.)108 290.4 Q .965(If no datasets are speci\214ed, all matching encryption roots are \ -listed \212 by def)108 307.2 R .966(ault, those managed by)-.1 F F3 -(tzpfms)108 319.2 Q F1(.)A F2(OPTIONS)72 336 Q F4109.666 348 Q F1 +listed \212 by def)108 307.2 R .966(ault, those managed by)-.1 F F2 +(tzpfms)108 319.2 Q F0(.)A F1(OPTIONS)72 336 Q F2109.666 348 Q F0 1.583(Scripting mode \212 remo)185 348 R 1.883 -.15(ve h)-.15 H 1.583 (eaders and separate \214elds by a single tab instead of).15 F -(columnating them with spaces.)185 360 Q F4109.666 376.8 Q F1 -(Recurse into all descendants of speci\214ed datasets.)185 376.8 Q F4 -109.666 388.8 Q F5(depth)6 E F1(Recurse at most)185 388.8 Q F5 -(depth)2.5 E F1(datasets deep.)2.5 E(Def)5 E(ault:)-.1 E F2(0)2.5 E F1 -(.)A F4109.666 405.6 Q F1(List all encryption roots, e)185 405.6 Q --.15(ve)-.25 G 2.5(no).15 G(nes not managed by)-2.5 E F3(tzpfms)2.5 E F1 -(.)A F4109.666 417.6 Q F5(back-end)6 E F1 -(List only encryption roots with the speci\214ed)185 417.6 Q F3(tzpfms) -2.5 E F5(back-end)2.5 E F1(.)A F4109.666 434.4 Q F1 +(columnating them with spaces.)185 360 Q F2109.666 376.8 Q F0 +(Recurse into all descendants of speci\214ed datasets.)185 376.8 Q F2 +109.666 388.8 Q F3(depth)6 E F0(Recurse at most)185 388.8 Q F3 +(depth)2.5 E F0(datasets deep.)2.5 E(Def)5 E(ault:)-.1 E F1(0)2.5 E F0 +(.)A F2109.666 405.6 Q F0(List all encryption roots, e)185 405.6 Q +-.15(ve)-.25 G 2.5(no).15 G(nes not managed by)-2.5 E F2(tzpfms)2.5 E F0 +(.)A F2109.666 417.6 Q F3(back-end)6 E F0 +(List only encryption roots with the speci\214ed)185 417.6 Q F2(tzpfms) +2.5 E F3(back-end)2.5 E F0(.)A F2109.666 434.4 Q F0 (List only encryption roots whose k)185 434.4 Q -.15(ey)-.1 G 2.5(sa).15 -G(re una)-2.5 E -.25(va)-.2 G(ilable.).25 E F4109.666 446.4 Q F1 +G(re una)-2.5 E -.25(va)-.2 G(ilable.).25 E F2109.666 446.4 Q F0 (List only encryption roots whose k)185 446.4 Q -.15(ey)-.1 G 2.5(sa).15 -G(re a)-2.5 E -.25(va)-.2 G(ilable.).25 E F2(EXAMPLES)72 463.2 Q F4($) -108 475.2 Q F3(zfs-tpm-list)6 E F4 72(NAME BACK-END)108 487.2 R 18 +G(re a)-2.5 E -.25(va)-.2 G(ilable.).25 E F1(EXAMPLES)72 463.2 Q F4($) +108 475.2 Q F2(zfs-tpm-list)6 E F4 72(NAME BACK-END)108 487.2 R 18 (KEYSTATUS COHERENT)12 F 36(tarta-zoot TPM1.X)108 499.2 R 18 (available yes)24 F 6(tarta-zoot/home TPM2)108 511.2 R 6 -(unavailable yes)36 F($)108 535.2 Q F3(zfs-tpm-list)6 E F4(\255ad0)7.666 -E 24(NAME BACK-END)108 547.2 R 6(KEYSTATUS COHERENT)12 F 6(filling -)108 -559.2 R 6(available yes)54 F($)108 583.2 Q F3(zfs-tpm-list)6 E F4 -7.666 E F2(TPM2)6 E F4 72(NAME BACK-END)108 595.2 R 18 -(KEYSTATUS COHERENT)12 F 6(tarta-zoot/home TPM2)108 607.2 R 6 -(unavailable yes)36 F($)108 631.2 Q F3(zfs-tpm-list)6 E F4(\255ra)7.666 -E F5(tarta-zoot)6 E F4 72(NAME BACK-END)108 643.2 R 18 -(KEYSTATUS COHERENT)12 F 36(tarta-zoot TPM1.X)108 655.2 R 18 -(available yes)24 F 6(tarta-zoot/home TPM2)108 667.2 R 6 +(unavailable yes)36 F($)108 535.2 Q F2 1.666(zfs-tpm-list \255ad0)6 F F4 +24(NAME BACK-END)108 547.2 R 6(KEYSTATUS COHERENT)12 F 6(filling -)108 +559.2 R 6(available yes)54 F($)108 583.2 Q F2 1.666(zfs-tpm-list \255b)6 +F F1(TPM2)6 E F4 72(NAME BACK-END)108 595.2 R 18(KEYSTATUS COHERENT)12 F +6(tarta-zoot/home TPM2)108 607.2 R 6(unavailable yes)36 F($)108 631.2 Q +F2 1.666(zfs-tpm-list \255ra)6 F F3(tarta-zoot)6 E F4 72(NAME BACK-END) +108 643.2 R 18(KEYSTATUS COHERENT)12 F 36(tarta-zoot TPM1.X)108 655.2 R +18(available yes)24 F 6(tarta-zoot/home TPM2)108 667.2 R 6 (unavailable yes)36 F 12(tarta-zoot/bkp -)108 679.2 R 18(available yes) 54 F 18(tarta-zoot/vm -)108 691.2 R 18(available yes)54 F($)108 715.2 Q -F3(zfs-tpm-list)6 E F4(\255al)7.666 E 72(NAME BACK-END)108 727.2 R 6 +F2 1.666(zfs-tpm-list \255al)6 F F4 72(NAME BACK-END)108 727.2 R 6 (KEYSTATUS COHERENT)12 F 54(filling -)108 739.2 R 6(available yes)54 F 36(tarta-zoot TPM1.X)108 751.2 R 6(available yes)24 F 12 (tarta-zoot/bkp -)108 763.2 R 6(available yes)54 F 18(tarta-zoot/vm -) -108 775.2 R 6(available yes)54 F F1(tzpfms 0.3.3-7-g893a48c)72 817.889 Q -(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E 0 Cg EP +108 775.2 R 6(available yes)54 F F0(tzpfms 0.3.3-8-g286180b)72 817.889 Q +(No)84.553 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM-LIST)72 48 Q/F1 10/Times-Roman@0 SF -96.343(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G(anual)-2.5 E F0 -(ZFS-TPM-LIST)96.342 E F1(\(8\))A/F2 10/Times-Bold@0 SF 1.666 -(SPECIAL THANKS)72 84 R F1 1.6 -.8(To a)108 96 T +/F0 10/Times-Roman@0 SF 93.563(ZFS-TPM-LIST\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 91.062(anual ZFS-TPM-LIST\(8\))-2.5 F/F1 +10/Times-Bold@0 SF 1.666(SPECIAL THANKS)72 84 R F0 1.6 -.8(To a)108 96 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.15 E F2<83>128 108 Q F1(ThePhD)7.5 E F2<83>128 120 Q F1(Embark Studios) -7.5 E F2<83>128 132 Q F1(Lars Strojn)7.5 E(y)-.15 E F2(REPOR)72 148.8 Q -1.666(TING B)-.4 F(UGS)-.1 E F1(https://todo.sr)108 160.8 Q -(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F0(\001nabijaczle)108 -177.6 Q(weli/tzpfms@lists.sr)-.15 E(.ht)-1.11 E F1 2.5(,a)C(rchi)-2.5 E --.15(ve)-.25 G 2.5(da).15 G 2.5(th)-2.5 G(ttps://lists.sr)-2.5 E -(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E(tzpfms 0.3.3-7-g893a48c) -72 817.889 Q(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(2)180.932 E -0 Cg EP +.15 E F1<83>128 108 Q F0(ThePhD)7.5 E F1<83>128 120 Q F0(Embark Studios) +7.5 E F1<83>128 132 Q F0(Lars Strojn)7.5 E(y)-.15 E F1(REPOR)72 148.8 Q +1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 160.8 Q +(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E/F2 10/Courier@0 SF +(\001nabijaczleweli/tzpfms@lists.sr.ht)108 177.6 Q F0 83.762(,a)C(rchi) +-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E(https://lists.sr) +108 189.6 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E +(tzpfms 0.3.3-8-g286180b)72 817.889 Q(No)84.553 E -.15(ve)-.15 G +(mber 25, 2023).15 E(2)180.932 E 0 Cg EP %%Page: 1 3 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM1X-CHANGE-KEY)72 48 Q/F1 10 -/Times-Roman@0 SF 43.013(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G -(anual)-2.5 E F0(ZFS-TPM1X-CHANGE-KEY)43.012 E F1(\(8\))A/F2 10 -/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F1(zfs-tpm1x-change-k)108 96 Q -.3 -.15(ey \212 c)-.1 H(hange ZFS dataset k).15 E .3 -.15(ey t)-.1 H 2.5 -(oo).15 G(ne stored on the TPM)-2.5 E F2(SYNOPSIS)72 112.8 Q/F3 10 -/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q F1([)2.5 E/F4 10/Courier@0 -SF1.666 E/F5 10/Courier-Oblique@0 SF(backup-file)6 E F1 2.5(][)C -F4-.834 E F5(PCR)6 E F1([)A F4(,)A F5(PCR)A F1 1.666(]...)C(]) --1.666 E F5(dataset)2.5 E F2(DESCRIPTION)72 141.6 Q F1 6.866 -.8(To n) -108 153.6 T 5.266(ormalise the).8 F F5(dataset)7.766 E F1(,)A F3 -(zfs-tpm-list)7.766 E F1 5.266 -(will open its encryption root in its stead.)7.766 F F3(zfs-tpm-list)108 -165.6 Q F1(will)2.5 E F0(ne)2.5 E(ver)-.15 E F1(create or destro)2.5 E -2.5(ye)-.1 G(ncryption roots; use)-2.5 E F0(zfs-c)2.5 E(hang)-.15 E(e-k) --.1 E -.3(ey)-.1 G F1(\(8\) for that.).3 E -(First, a connection is made to the TPM, which)108 182.4 Q F0(must)2.5 E -F1(be TPM-1.X-compatible.)2.5 E(If)108 199.2 Q F5(dataset)3.177 E F1 -.1 +/F0 10/Times-Roman@0 SF 36.913(ZFS-TPM1X-CHANGE-KEY\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 34.412(anual ZFS-TPM1X-CHANGE-KEY\(8\)) +-2.5 F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F0 +(zfs-tpm1x-change-k)108 96 Q .3 -.15(ey \212 c)-.1 H +(hange ZFS dataset k).15 E .3 -.15(ey t)-.1 H 2.5(oo).15 G +(ne stored on the TPM)-2.5 E F1(SYNOPSIS)72 112.8 Q/F2 10/Courier-Bold@0 +SF(zfs-tpm-list)108 124.8 Q F0([)2.5 E F21.666 E/F3 10 +/Courier-Oblique@0 SF(backup-file)6 E F0 2.5(][)C F2-.834 E F3 +(PCR)6 E F0([)A F2(,)A F3(PCR)A F0 1.666(]...)C(])-1.666 E F3(dataset) +2.5 E F1(DESCRIPTION)72 141.6 Q F0 6.867 -.8(To n)108 153.6 T 5.267 +(ormalise the).8 F F3(dataset)7.767 E F0(,)A F2(zfs-tpm-list)7.766 E F0 +5.266(will open its encryption root in its stead.)7.766 F F2 +(zfs-tpm-list)108 165.6 Q F0(will)2.5 E/F4 10/Times-Italic@0 SF(ne)2.5 E +(ver)-.15 E F0(create or destro)2.5 E 2.5(ye)-.1 G(ncryption roots; use) +-2.5 E/F5 10/Courier@0 SF(zfs-change-key)2.5 E F0(\(8\) for that.)A +(First, a connection is made to the TPM, which)108 182.4 Q F4(must)2.5 E +F0(be TPM-1.X-compatible.)2.5 E(If)108 199.2 Q F3(dataset)3.176 E F0 -.1 (wa)3.176 G 3.176(sp).1 G(re)-3.176 E .676(viously encrypted with)-.25 F -F3(tzpfms)3.176 E F1 .676(and the)3.176 F F2(TPM1.X)3.176 E F1 .676 +F2(tzpfms)3.176 E F0 .676(and the)3.176 F F1(TPM1.X)3.176 E F0 .676 (back-end w)3.176 F .676(as used, the meta-)-.1 F .926 (data will be silently cleared.)108 211.2 R .926 (Otherwise, or in case of an error)5.926 F 3.426(,d)-.4 G .926 (ata required for manual interv)-3.426 F(ention)-.15 E (will be printed to the standard error stream.)108 223.2 Q(Ne)108 240 Q -1.741(xt, a ne)-.15 F 4.241(ww)-.25 G 1.741(rapping k)-4.241 F 2.041 --.15(ey i)-.1 H 4.24(sg).15 G 1.74(enerated on the TPM, optionally back) --4.24 F 1.74(ed up \(see \231OPTIONS\232\), and)-.1 F .294(sealed on th\ -e TPM; the user is prompted for an optional passphrase to protect the k) -108 252 R .594 -.15(ey w)-.1 H .294(ith, and for the).15 F -(SRK passphrase, set when taking o)108 264 Q(wnership, if not "well-kno) --.25 E(wn" \(all zeroes\).)-.25 E(The follo)108 280.8 Q -(wing properties are set on)-.25 E F5(dataset)2.5 E F1(:)A F2<83>128 -292.8 Q F4(xyz.nabijaczleweli:tzpfms.backend)7.5 E F1(=)A F2(TPM1.X)A -<83>128 304.8 Q F4(xyz.nabijaczleweli:tzpfms.key)7.5 E F1(=)A F5 -(parent-key-blob)A F4(:)A F5(sealed-object-blob)A F4(tzpfms.backend)108 -321.6 Q F1 .292(identi\214es this dataset for w)2.792 F .291(ork with) --.1 F F2(TPM1.X)2.791 E F1(-back-ended)A F3(tzpfms)2.791 E F1 .291 -(tools \(namely)2.791 F F0(zfs-tpm1x-c)108 333.6 Q(hang)-.15 E(e-k)-.1 E --.3(ey)-.1 G F1(\(8\),).3 E F0(zfs-tpm1x-load-k)2.5 E -.3(ey)-.1 G F1 -(\(8\), and).3 E F0(zfs-tpm1x-clear)2.5 E(-k)-.2 E -.3(ey)-.1 G F1 -(\(8\)\).).3 E F4(tzpfms.key)108 350.4 Q F1 1.412 -(is a colon-separated pair of he)3.912 F 1.412 -(xadecimal-string \(i.e. "4F7730" for "Ow0"\) blobs; the)-.15 F .868 -(\214rst one represents the RSA k)108 362.4 R 1.168 -.15(ey p)-.1 H .867 +.294(xt, a ne)-.15 F 2.794(ww)-.25 G .294(rapping k)-2.794 F .594 -.15 +(ey i)-.1 H 2.794(sg).15 G .294(enerated on the TPM, optionally back) +-2.794 F .294(ed up \(see)-.1 F F1(OPTIONS)2.794 E F0 .294 +(\), and sealed)B .586(on the TPM; the user is prompted for an optional\ + passphrase to protect the k)108 252 R .885 -.15(ey w)-.1 H .585 +(ith, and for the SRK).15 F(passphrase, set when taking o)108 264 Q +(wnership, if not "well-kno)-.25 E(wn" \(all zeroes\).)-.25 E(The follo) +108 280.8 Q(wing properties are set on)-.25 E F3(dataset)2.5 E F0(:)A F1 +<83>128 292.8 Q F5(xyz.nabijaczleweli:tzpfms.backend)7.5 E F0(=)A F1 +(TPM1.X)A<83>128 304.8 Q F5(xyz.nabijaczleweli:tzpfms.key)7.5 E F0(=)A +F3(parent-key-blob)A F2(:)A F3(sealed-object-blob)A F5(tzpfms.backend) +108 321.6 Q F0 .291(identi\214es this dataset for w)2.791 F .292 +(ork with)-.1 F F1(TPM1.X)2.792 E F0(-back-ended)A F2(tzpfms)2.792 E F0 +.292(tools \(namely)2.792 F F5(zfs-tpm1x-change-key)108 333.6 Q F0 +(\(8\),)A F5(zfs-tpm1x-load-key)2.5 E F0(\(8\), and)A F5 +(zfs-tpm1x-clear-key)2.5 E F0(\(8\)\).)A F5(tzpfms.key)108 350.4 Q F0 +1.412(is a colon-separated pair of he)3.913 F 1.412 +(xadecimal-string \(i.e. "4F7730" for "Ow0"\) blobs; the)-.15 F .867 +(\214rst one represents the RSA k)108 362.4 R 1.167 -.15(ey p)-.1 H .868 (rotecting the blob, and it is protected with either the passphrase, if) -.15 F(pro)108 374.4 Q 1.413(vided, or the SHA1 constant)-.15 F F4 -(CE4CF677875B5EB8993591D5A9AF1ED24A3A8736)3.914 E F1 3.914(;t)C 1.414 -(he sec-)-3.914 F .379 +.15 F(pro)108 374.4 Q 1.414(vided, or the SHA1 constant)-.15 F F5 +(CE4CF677875B5EB8993591D5A9AF1ED24A3A8736)3.913 E F0 3.913(;t)C 1.413 +(he sec-)-3.913 F .379 (ond represents the sealed object containing the wrapping k)108 386.4 R -.15(ey)-.1 G 2.879(,a)-.5 G .379 -(nd is protected with the SHA1 constant)-2.879 F F4 -(B9EE715DBE4B243FAA81EA04306E063710383E35)108 398.4 Q F1 6.72(.T)C 1.72 -(here e)-6.72 F 1.721(xists no other user)-.15 F 1.721(-land tool for) --.2 F(decrypting this; perhaps there should be.)108 410.4 Q(Finally)108 -427.2 Q 12.006(,t)-.65 G 9.506(he equi)-12.006 F -.25(va)-.25 G 9.506 -(lent of).25 F F3(zfs)12.005 E F4 11.171(change-key \255o)15.505 F -11.171(keylocation=prompt \255o)15.505 F(keyformat=raw)108 439.2 Q F5 -(dataset)6.106 E F1 .106(is performed with the ne)2.606 F 2.606(wk)-.25 -G -.15(ey)-2.706 G 5.106(.I)-.5 G 2.606(fa)-5.106 G 2.606(ne)-2.606 G -.107(rror occurred, best ef)-2.606 F .107(fort is made)-.25 F +(nd is protected with the SHA1 constant)-2.879 F F5 +(B9EE715DBE4B243FAA81EA04306E063710383E35)108 398.4 Q F0 6.721(.T)C +1.721(here e)-6.721 F 1.721(xists no other user)-.15 F 1.72 +(-land tool for)-.2 F(decrypting this; perhaps there should be.)108 +410.4 Q(Finally)108 427.2 Q 12.005(,t)-.65 G 9.505(he equi)-12.005 F +-.25(va)-.25 G 9.505(lent of).25 F F2 9.505(zfs change-key)12.005 F +17.172 E F5(keylocation=prompt)15.506 E F217.172 E F5 +(keyformat=raw)108 439.2 Q F3(dataset)6.107 E F0 .107 +(is performed with the ne)2.607 F 2.606(wk)-.25 G -.15(ey)-2.706 G 5.106 +(.I)-.5 G 2.606(fa)-5.106 G 2.606(ne)-2.606 G .106 +(rror occurred, best ef)-2.606 F .106(fort is made)-.25 F (to clean up the properties, or to issue a note for manual interv)108 -451.2 Q(ention into the standard error stream.)-.15 E 4.056<418c>108 468 -S 1.556(nal v)-4.056 F 1.556(eri\214cation should be made by running) --.15 F F3(zfs-tpm1x-load-key)4.056 E F49.222 E F5(dataset)7.555 E -F1 6.555(.I)C 4.055(ft)-6.555 G(hat)-4.055 E .729 +451.2 Q(ention into the standard error stream.)-.15 E 4.055<418c>108 468 +S 1.555(nal v)-4.055 F 1.556(eri\214cation should be made by running) +-.15 F F2 3.222(zfs-tpm1x-load-key \255n)4.056 F F3(dataset)7.556 E F0 +6.556(.I)C 4.056(ft)-6.556 G(hat)-4.056 E .729 (command succeeds, all is well, b)108 480 R .729 (ut otherwise the dataset can be manually rolled back to a passphrase) --.2 F(with)108 492 Q F3(zfs-tpm1x-clear-key)5.147 E F5(dataset)8.647 E -F1(\(or)5.147 E 5.146(,i)-.4 G 5.146(ft)-5.146 G 2.646(hat f)-5.146 F -2.646(ails to w)-.1 F(ork,)-.1 E F3(zfs)5.146 E F4 4.312 -(change-key \255o)8.646 F(keyformat=passphrase)108 504 Q F5(dataset)6 E -F1(\), and you are hereby ask)A(ed to report a b)-.1 E(ug, please.)-.2 E -F3(zfs-tpm1x-clear-key)108 520.8 Q F5(dataset)7.606 E F1 1.607 -(can be used to clear the properties and go back to using a)4.106 F -(passphrase.)108 532.8 Q F2(OPTIONS)72 549.6 Q F4109.666 561.6 Q -F5(backup-file)6 E F1(Sa)203 561.6 Q .353 -.15(ve a b)-.2 H .052 -(ack-up of the k).15 F .352 -.15(ey t)-.1 H(o).15 E F5(backup-file)2.552 -E F1 2.552(,w)C .052(hich must not e)-2.552 F .052(xist beforehand.)-.15 -F .693(This back-up)203 573.6 R F0(must)3.193 E F1 .694 -(be stored securely)3.193 F 3.194(,o)-.65 G -.25(ff)-3.194 G 3.194 -(-site. In).25 F .694(case of a catastrophic e)3.194 F -.15(ve)-.25 G +-.2 F(with)108 492 Q F2(zfs-tpm1x-clear-key)5.146 E F3(dataset)8.646 E +F0(\(or)5.146 E 5.146(,i)-.4 G 5.146(ft)-5.146 G 2.646(hat f)-5.146 F +2.646(ails to w)-.1 F(ork,)-.1 E F2 2.647(zfs change-key)5.147 F +10.313 E F5(keyformat=passphrase)108 504 Q F3(dataset)6 E F0 +(\), and you are hereby ask)A(ed to report a b)-.1 E(ug, please.)-.2 E +F2(zfs-tpm1x-clear-key)108 520.8 Q F3(dataset)7.607 E F0 1.607 +(can be used to clear the properties and go back to using a)4.107 F +(passphrase.)108 532.8 Q F1(OPTIONS)72 549.6 Q F2109.666 561.6 Q +F3(backup-file)6 E F0(Sa)203 561.6 Q .352 -.15(ve a b)-.2 H .052 +(ack-up of the k).15 F .352 -.15(ey t)-.1 H(o).15 E F3(backup-file)2.552 +E F0 2.552(,w)C .052(hich must not e)-2.552 F .053(xist beforehand.)-.15 +F .694(This back-up)203 573.6 R F4(must)3.194 E F0 .694 +(be stored securely)3.194 F 3.194(,o)-.65 G -.25(ff)-3.194 G 3.194 +(-site. In).25 F .693(case of a catastrophic e)3.194 F -.15(ve)-.25 G (nt,).15 E(the k)203 585.6 Q .3 -.15(ey c)-.1 H(an be loaded by running) -.15 E F3(zfs)233 597.6 Q F4(load-key)6 E F5(dataset)6 E F4(<)6 E F5 -(backup-file)6 E F4109.666 614.4 Q F5(PCR)6 E F1([)A F4(,)A F5 -(PCR)A F1 1.666(]...)C .639(Bind the k)203 614.4 R .939 -.15(ey t)-.1 H -3.139(os).15 G .639(pace- or comma-separated)-3.139 F F5(PCR)3.139 E F1 -3.139(s\212i)C 3.139(ft)-3.139 G(he)-3.139 E 3.139(yc)-.15 G .638 -(hange, the wrap-)-3.139 F .462(ping k)203 626.4 R .762 -.15(ey w)-.1 H -.462(ill not be able to be unsealed.).15 F .463 -(The minimum number of PCRs for a)5.462 F(PC TPM is)203 638.4 Q F2(24) -2.5 E F1(\(numbered [)2.5 E F2(0)A F1(,)A F2(23)2.5 E F1 2.5(]\). F)B -(or most, this is also the maximum.)-.15 E F2(ENVIR)72 655.2 Q 1.666 -(ONMENT V)-.3 F(ARIABLES)-1.35 E F4(TZPFMS_PASSPHRASE_HELPER)108 667.2 Q -F1 .046(By def)133 679.2 R .045(ault, passphrases are prompted for and \ -read in on the standard output and input streams.)-.1 F(If)5.045 E F4 -(TZPFMS_PASSPHRASE_HELPER)133 691.2 Q F1 .896(is set and nonempty)3.396 -F 3.396(,i)-.65 G 3.396(tw)-3.396 G .896(ill be run via)-3.396 F F0 -(/bin/)3.396 E F3(sh)A F48.562 E F1 .897(to pro-)3.396 F -(vide each passphrase, instead.)133 703.2 Q .643 +.15 E F2(zfs load-key)233 597.6 Q F3(dataset)6 E F5(<)6 E F3 +(backup-file)6 E F2109.666 614.4 Q F3(PCR)6 E F0([)A F2(,)A F3 +(PCR)A F0 1.666(]...)C .638(Bind the k)203 614.4 R .939 -.15(ey t)-.1 H +3.139(os).15 G .639(pace- or comma-separated)-3.139 F F3(PCR)3.139 E F0 +3.139(s\212i)C 3.139(ft)-3.139 G(he)-3.139 E 3.139(yc)-.15 G .639 +(hange, the wrap-)-3.139 F .463(ping k)203 626.4 R .763 -.15(ey w)-.1 H +.463(ill not be able to be unsealed.).15 F .462 +(The minimum number of PCRs for a)5.462 F(PC TPM is)203 638.4 Q F1(24) +2.5 E F0(\(numbered [)2.5 E F1(0)A F0(,)A F1(23)2.5 E F0 2.5(]\). F)B +(or most, this is also the maximum.)-.15 E F1(ENVIR)72 655.2 Q 1.666 +(ONMENT V)-.3 F(ARIABLES)-1.35 E F5(TZPFMS_PASSPHRASE_HELPER)108 667.2 Q +F0 .045(By def)133 679.2 R .045(ault, passphrases are prompted for and \ +read in on the standard output and input streams.)-.1 F(If)5.046 E F5 +(TZPFMS_PASSPHRASE_HELPER)133 691.2 Q F0 1.596(is set and nonempty)4.096 +F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F5 +(/bin/)4.095 E F2 3.261(sh \255c)B F0(to)4.095 E(pro)133 703.2 Q +(vide each passphrase, instead.)-.15 E .643 (The standard output stream of the helper is tied to an anon)133 720 R .643(ymous \214le and used in its entirety as)-.15 F(the passphrase, e) 133 732 Q(xcept for a trailing ne)-.15 E(w-line, if an)-.25 E 3.8 -.65 -(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F4($1)143 744 Q F1 +(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F5($1)143 744 Q F0 (Pre-formatted noun phrase with all the information belo)160 744 Q 1.3 --.65(w, f)-.25 H(or use as a prompt).65 E(tzpfms 0.3.3-7-g893a48c)72 -817.889 Q(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E 0 +-.65(w, f)-.25 H(or use as a prompt).65 E(tzpfms 0.3.3-8-g286180b)72 +817.889 Q(No)84.553 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E 0 Cg EP %%Page: 2 4 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM1X-CHANGE-KEY)72 48 Q/F1 10 -/Times-Roman@0 SF 43.013(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G -(anual)-2.5 E F0(ZFS-TPM1X-CHANGE-KEY)43.012 E F1(\(8\))A/F2 10 -/Courier@0 SF($2)143 84 Q F1 +/F0 10/Times-Roman@0 SF 36.913(ZFS-TPM1X-CHANGE-KEY\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 34.412(anual ZFS-TPM1X-CHANGE-KEY\(8\)) +-2.5 F/F1 10/Courier@0 SF($2)143 84 Q F0 (Either the dataset name or the element of the TPM hierarch)160 84 Q 2.5 -(yb)-.05 G(eing prompted for)-2.5 E F2($3)143 96 Q F1("ne)160 96 Q +(yb)-.05 G(eing prompted for)-2.5 E F1($3)143 96 Q F0("ne)160 96 Q (w" if this is for a ne)-.25 E 2.5(wp)-.25 G(assphrase, otherwise blank) --2.5 E F2($4)143 108 Q F1("ag)160 108 Q(ain" if it')-.05 E 2.5(st)-.55 G -(he second prompt for that passphrase, otherwise blank)-2.5 E .177 -(If the helper doesn')133 124.8 R 2.677(te)-.18 G .177 -(xist \(the shell e)-2.827 F .177(xits with)-.15 F/F3 10/Times-Bold@0 SF -(127)2.677 E F1 .178(\), a diagnostic is issued and the normal prompt)B +-2.5 E F1($4)143 108 Q F0("ag)160 108 Q(ain" if it')-.05 E 2.5(st)-.55 G +(he second prompt for that passphrase, otherwise blank)-2.5 E .178 +(If the helper doesn')133 124.8 R 2.678(te)-.18 G .178 +(xist \(the shell e)-2.828 F .177(xits with)-.15 F/F2 10/Times-Bold@0 SF +(127)2.677 E F0 .177(\), a diagnostic is issued and the normal prompt)B (is used as f)133 136.8 Q 2.5(all-back. If)-.1 F(it f)2.5 E(ails for an) --.1 E 2.5(yo)-.15 G(ther reason, the prompting is aborted.)-2.5 E F3 +-.1 E 2.5(yo)-.15 G(ther reason, the prompting is aborted.)-2.5 E F2 1.666(TPM1.X back-end con\214guration)72 153.6 R .625(TPM selection)87 -165.6 R F1(The)108 177.6 Q/F4 10/Courier-Bold@0 SF(tzpfms)2.509 E F1 -.009(suite connects to a local)2.509 F F0(tcsd)2.508 E F1 .008 -(\(8\) process \(at)B F0(localhost:30003)2.508 E F1 2.508(\)b)C 2.508 -(yd)-2.508 G(ef)-2.508 E 2.508(ault. Use)-.1 F .008(the en)2.508 F -(viron-)-.4 E(ment v)108 189.6 Q(ariable)-.25 E F2(TZPFMS_TPM1X)2.5 E F1 -(to specify a remote TCS hostname.)2.5 E .444(The T)108 206.4 R(rouSerS) --.35 E F0(tcsd)2.944 E F1 .444(\(8\) daemon will try)B F0(/de)2.945 E -(v/tpm0)-.15 E F1 2.945(,t)C(hen)-2.945 E F0(/ude)2.945 E(v/tpm0)-.15 E -F1 2.945(,t)C(hen)-2.945 E F0(/de)2.945 E(v/tpm)-.15 E F1 2.945(;b)C -2.945(yo)-2.945 G(ccup)-2.945 E .445(ying one of)-.1 F -(the earlier ones with, for e)108 218.4 Q -(xample, shell redirection, a later one can be selected.)-.15 E F3 .625 -(See also)87 235.2 R F1(The T)108 247.2 Q +165.6 R F0(The)108 177.6 Q/F3 10/Courier-Bold@0 SF(tzpfms)2.729 E F0 +.229(suite connects to a local)2.729 F F1(tcsd)2.73 E F0 .23 +(\(8\) process \(at)B F1(localhost:30003)2.73 E F0 2.73(\)b)C 2.73(yd) +-2.73 G(ef)-2.73 E 2.73(ault. Use)-.1 F(the)2.73 E(en)108 189.6 Q +(vironment v)-.4 E(ariable)-.25 E F1(TZPFMS_TPM1X)2.5 E F0 +(to specify a remote TCS hostname.)2.5 E .111(The T)108 206.4 R(rouSerS) +-.35 E F1(tcsd)2.611 E F0 .111(\(8\) daemon will try)B F1(/dev/tpm0)2.61 +E F0 2.61(,t)C(hen)-2.61 E F1(/udev/tpm0)2.61 E F0 2.61(,t)C(hen)-2.61 E +F1(/dev/tpm)2.61 E F0 2.61(;b)C 2.61(yo)-2.61 G(ccu-)-2.61 E -.1(py)108 +218.4 S(ing one of the earlier ones with, for e).1 E +(xample, shell redirection, a later one can be selected.)-.15 E F2 .625 +(See also)87 235.2 R F0(The T)108 247.2 Q (rouSerS project page at https://sourcefor)-.35 E (ge.net/projects/trousers.)-.18 E 4.415 (The TPM 1.2 main speci\214cation inde)108 264 R 6.915(xa)-.15 G 6.915 (th)-6.915 G(ttps://trustedcomputinggroup.or)-6.915 E -(g/resource/tpm-main-)-.18 E(speci\214cation.)108 276 Q F3 1.666 -(SPECIAL THANKS)72 292.8 R F1 1.6 -.8(To a)108 304.8 T +(g/resource/tpm-main-)-.18 E(speci\214cation.)108 276 Q F2 1.666 +(SPECIAL THANKS)72 292.8 R F0 1.6 -.8(To a)108 304.8 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.15 E F3<83>128 316.8 Q F1(ThePhD)7.5 E F3<83>128 328.8 Q F1 -(Embark Studios)7.5 E F3<83>128 340.8 Q F1(Lars Strojn)7.5 E(y)-.15 E F3 -(REPOR)72 357.6 Q 1.666(TING B)-.4 F(UGS)-.1 E F1(https://todo.sr)108 -369.6 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F0(\001nabijaczle) -108 386.4 Q(weli/tzpfms@lists.sr)-.15 E(.ht)-1.11 E F1 2.5(,a)C(rchi) --2.5 E -.15(ve)-.25 G 2.5(da).15 G 2.5(th)-2.5 G(ttps://lists.sr)-2.5 E -(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E F3 1.666(SEE ALSO)72 -403.2 R F1(PCR allocations: https://wiki.archlinux.or)108 415.2 Q -(g/title/T)-.18 E(rusted_Platform_Module#Accessing_PCR_re)-.35 E -(gisters)-.15 E(and https://trustedcomputinggroup.or)108 427.2 Q +.15 E F2<83>128 316.8 Q F0(ThePhD)7.5 E F2<83>128 328.8 Q F0 +(Embark Studios)7.5 E F2<83>128 340.8 Q F0(Lars Strojn)7.5 E(y)-.15 E F2 +(REPOR)72 357.6 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 +369.6 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F1 +(\001nabijaczleweli/tzpfms@lists.sr.ht)108 386.4 Q F0 83.763(,a)C(rchi) +-83.763 E -.15(ve)-.25 G 83.762(da).15 G(t)-83.762 E(https://lists.sr) +108 398.4 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E F2 1.666 +(SEE ALSO)72 415.2 R F0(PCR allocations: https://wiki.archlinux.or)108 +427.2 Q(g/title/T)-.18 E(rusted_Platform_Module#Accessing_PCR_re)-.35 E +(gisters)-.15 E(and https://trustedcomputinggroup.or)108 439.2 Q (g/wp-content/uploads/PC-)-.18 E(ClientSpeci\214c_Platform_Pro\214le_fo\ -r_TPM_2p0_Systems_v51.pdf, Section 2.3.4 "PCR Usage", T)108 439.2 Q -(able)-.8 E(1.)108 451.2 Q(tzpfms 0.3.3-7-g893a48c)72 817.889 Q(No) -85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(2)180.932 E 0 Cg EP +r_TPM_2p0_Systems_v51.pdf, Section 2.3.4 "PCR Usage", T)108 451.2 Q +(able)-.8 E(1.)108 463.2 Q(tzpfms 0.3.3-8-g286180b)72 817.889 Q(No) +84.553 E -.15(ve)-.15 G(mber 25, 2023).15 E(2)180.932 E 0 Cg EP %%Page: 1 5 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM1X-CLEAR-KEY)72 48 Q/F1 10/Times-Roman@0 -SF 52.453(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G(anual)-2.5 E F0 -(ZFS-TPM1X-CLEAR-KEY)52.452 E F1(\(8\))A/F2 10/Times-Bold@0 SF -.2(NA)72 -84 S(ME).2 E F1(zfs-tpm1x-clear)108 96 Q(-k)-.2 E .3 -.15(ey \212 r)-.1 -H -.25(ew).15 G(rap ZFS dataset k).25 E .3 -.15(ey i)-.1 H 2.5(np).15 G -(asssw)-2.5 E(ord and clear tzpfms TPM1.X metadata)-.1 E F2(SYNOPSIS)72 -112.8 Q/F3 10/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q/F4 10 -/Courier-Oblique@0 SF(dataset)2.5 E F2(DESCRIPTION)72 141.6 Q F1 -(After v)108 153.6 Q(erifying)-.15 E F4(dataset)2.5 E F1 -.1(wa)2.5 G -2.5(se).1 G(ncrypted with)-2.5 E F3(tzpfms)2.5 E F1(back)2.5 E(end)-.1 E -F2(TPM1.X)2.5 E F1(:)A 5(1. performs)118 165.6 R 5.641(the equi)8.141 F --.25(va)-.25 G 5.641(lent of).25 F F3(zfs)8.142 E/F5 10/Courier@0 SF -7.308(change-key \255o)11.642 F 7.308(keylocation=prompt \255o)11.642 F -(keyformat=passphrase)133 177.6 Q F4(dataset)6 E F1(,)A 5(2. remo)118 -189.6 R -.15(ve)-.15 G 10.689(st).15 G(he)-10.689 E F5 -(xyz.nabijaczleweli:tzpfms.)10.689 E F1({)A F5(backend)A F1(,)A F5(key) -14.189 E F1 10.689(}p)C 8.189(roperties from)-10.689 F F4(dataset)133 -201.6 Q F1(.)A(See)108 218.4 Q F0(zfs-tpm1x-c)2.5 E(hang)-.15 E(e-k)-.1 -E -.3(ey)-.1 G F1(\(8\) for a detailed description.).3 E F2 1.666 +/F0 10/Times-Roman@0 SF 45.793(ZFS-TPM1X-CLEAR-KEY\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 43.292(anual ZFS-TPM1X-CLEAR-KEY\(8\))-2.5 +F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F0(zfs-tpm1x-clear)108 96 +Q(-k)-.2 E .3 -.15(ey \212 r)-.1 H -.25(ew).15 G(rap ZFS dataset k).25 E +.3 -.15(ey i)-.1 H 2.5(np).15 G(asssw)-2.5 E +(ord and clear tzpfms TPM1.X metadata)-.1 E F1(SYNOPSIS)72 112.8 Q/F2 10 +/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q/F3 10/Courier-Oblique@0 SF +(dataset)2.5 E F1(DESCRIPTION)72 141.6 Q F0(After v)108 153.6 Q +(erifying)-.15 E F3(dataset)2.5 E F0 -.1(wa)2.5 G 2.5(se).1 G +(ncrypted with)-2.5 E F2(tzpfms)2.5 E F0(back)2.5 E(end)-.1 E F1(TPM1.X) +2.5 E F0(:)A 5(1. performs)118 165.6 R 5.641(the equi)8.141 F -.25(va) +-.25 G 5.641(lent of).25 F F2 5.642(zfs change-key)8.142 F13.308 E +/F4 10/Courier@0 SF(keylocation=prompt)11.642 E F213.308 E F4 +(keyformat=passphrase)133 177.6 Q F3(dataset)6 E F0(,)A 5(2. remo)118 +189.6 R -.15(ve)-.15 G 10.689(st).15 G(he)-10.689 E F4 +(xyz.nabijaczleweli:tzpfms.)10.689 E F0({)A F4(backend)A F0(,)A F4(key) +14.189 E F0 10.689(}p)C 8.189(roperties from)-10.689 F F3(dataset)133 +201.6 Q F0(.)A(See)108 218.4 Q F4(zfs-tpm1x-change-key)2.5 E F0 +(\(8\) for a detailed description.)A F1 1.666 (TPM1.X back-end con\214guration)72 235.2 R .625(TPM selection)87 247.2 -R F1(The)108 259.2 Q F3(tzpfms)2.508 E F1 .008 -(suite connects to a local)2.508 F F0(tcsd)2.508 E F1 .008 -(\(8\) process \(at)B F0(localhost:30003)2.508 E F1 2.509(\)b)C 2.509 -(yd)-2.509 G(ef)-2.509 E 2.509(ault. Use)-.1 F .009(the en)2.509 F -(viron-)-.4 E(ment v)108 271.2 Q(ariable)-.25 E F5(TZPFMS_TPM1X)2.5 E F1 -(to specify a remote TCS hostname.)2.5 E .445(The T)108 288 R(rouSerS) --.35 E F0(tcsd)2.945 E F1 .445(\(8\) daemon will try)B F0(/de)2.945 E -(v/tpm0)-.15 E F1 2.945(,t)C(hen)-2.945 E F0(/ude)2.945 E(v/tpm0)-.15 E -F1 2.945(,t)C(hen)-2.945 E F0(/de)2.944 E(v/tpm)-.15 E F1 2.944(;b)C -2.944(yo)-2.944 G(ccup)-2.944 E .444(ying one of)-.1 F -(the earlier ones with, for e)108 300 Q -(xample, shell redirection, a later one can be selected.)-.15 E F2 .625 -(See also)87 316.8 R F1(The T)108 328.8 Q +R F0(The)108 259.2 Q F2(tzpfms)2.729 E F0 .229 +(suite connects to a local)2.729 F F4(tcsd)2.73 E F0 .23 +(\(8\) process \(at)B F4(localhost:30003)2.73 E F0 2.73(\)b)C 2.73(yd) +-2.73 G(ef)-2.73 E 2.73(ault. Use)-.1 F(the)2.73 E(en)108 271.2 Q +(vironment v)-.4 E(ariable)-.25 E F4(TZPFMS_TPM1X)2.5 E F0 +(to specify a remote TCS hostname.)2.5 E .111(The T)108 288 R(rouSerS) +-.35 E F4(tcsd)2.611 E F0 .111(\(8\) daemon will try)B F4(/dev/tpm0)2.61 +E F0 2.61(,t)C(hen)-2.61 E F4(/udev/tpm0)2.61 E F0 2.61(,t)C(hen)-2.61 E +F4(/dev/tpm)2.61 E F0 2.61(;b)C 2.61(yo)-2.61 G(ccu-)-2.61 E -.1(py)108 +300 S(ing one of the earlier ones with, for e).1 E +(xample, shell redirection, a later one can be selected.)-.15 E F1 .625 +(See also)87 316.8 R F0(The T)108 328.8 Q (rouSerS project page at https://sourcefor)-.35 E (ge.net/projects/trousers.)-.18 E 4.415 (The TPM 1.2 main speci\214cation inde)108 345.6 R 6.915(xa)-.15 G 6.915 (th)-6.915 G(ttps://trustedcomputinggroup.or)-6.915 E -(g/resource/tpm-main-)-.18 E(speci\214cation.)108 357.6 Q F2 1.666 -(SPECIAL THANKS)72 374.4 R F1 1.6 -.8(To a)108 386.4 T +(g/resource/tpm-main-)-.18 E(speci\214cation.)108 357.6 Q F1 1.666 +(SPECIAL THANKS)72 374.4 R F0 1.6 -.8(To a)108 386.4 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.15 E F2<83>128 398.4 Q F1(ThePhD)7.5 E F2<83>128 410.4 Q F1 -(Embark Studios)7.5 E F2<83>128 422.4 Q F1(Lars Strojn)7.5 E(y)-.15 E F2 -(REPOR)72 439.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F1(https://todo.sr)108 -451.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F0(\001nabijaczle) -108 468 Q(weli/tzpfms@lists.sr)-.15 E(.ht)-1.11 E F1 2.5(,a)C(rchi)-2.5 -E -.15(ve)-.25 G 2.5(da).15 G 2.5(th)-2.5 G(ttps://lists.sr)-2.5 E -(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E(tzpfms 0.3.3-7-g893a48c) -72 817.889 Q(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E -0 Cg EP +.15 E F1<83>128 398.4 Q F0(ThePhD)7.5 E F1<83>128 410.4 Q F0 +(Embark Studios)7.5 E F1<83>128 422.4 Q F0(Lars Strojn)7.5 E(y)-.15 E F1 +(REPOR)72 439.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 +451.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F4 +(\001nabijaczleweli/tzpfms@lists.sr.ht)108 468 Q F0 83.763(,a)C(rchi) +-83.763 E -.15(ve)-.25 G 83.762(da).15 G(t)-83.762 E(https://lists.sr) +108 480 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E +(tzpfms 0.3.3-8-g286180b)72 817.889 Q(No)84.553 E -.15(ve)-.15 G +(mber 25, 2023).15 E(1)180.932 E 0 Cg EP %%Page: 1 6 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM1X-LO)72 48 Q(AD-KEY)-.55 E/F1 10 -/Times-Roman@0 SF 57.453(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G -(anual)-2.5 E F0(ZFS-TPM1X-LO)57.452 E(AD-KEY)-.55 E F1(\(8\))A/F2 10 -/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F1(zfs-tpm1x-load-k)108 96 Q .3 --.15(ey \212 l)-.1 H(oad TPM1.X-encrypted ZFS dataset k).15 E -.15(ey) --.1 G F2(SYNOPSIS)72 112.8 Q/F3 10/Courier-Bold@0 SF(zfs-tpm-list)108 -124.8 Q F1([)2.5 E/F4 10/Courier@0 SF1.666 E F1(])A/F5 10 -/Courier-Oblique@0 SF(dataset)2.5 E F2(DESCRIPTION)72 141.6 Q F1 .191 -(After v)108 153.6 R(erifying)-.15 E F5(dataset)2.691 E F1 -.1(wa)2.691 -G 2.691(se).1 G .191(ncrypted with)-2.691 F F3(tzpfms)2.69 E F1(back) -2.69 E(end)-.1 E F2(TPM1.X)2.69 E F1 .19(will unseal the k)2.69 F .49 --.15(ey a)-.1 H .19(nd load).15 F(it into)108 165.6 Q F5(dataset)2.5 E -F1(.)A .236 +/F0 10/Times-Roman@0 SF(ZFS-TPM1X-LO)72 48 Q 51.153(AD-KEY\(8\) System) +-.35 F(Manager')2.5 E 2.5(sM)-.55 G 48.652(anual ZFS-TPM1X-LO)-2.5 F +(AD-KEY\(8\))-.35 E/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F0 +(zfs-tpm1x-load-k)108 96 Q .3 -.15(ey \212 l)-.1 H +(oad TPM1.X-encrypted ZFS dataset k).15 E -.15(ey)-.1 G F1(SYNOPSIS)72 +112.8 Q/F2 10/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q F0([)2.5 E F2 +1.666 E F0(])A/F3 10/Courier-Oblique@0 SF(dataset)2.5 E F1 +(DESCRIPTION)72 141.6 Q F0 .19(After v)108 153.6 R(erifying)-.15 E F3 +(dataset)2.69 E F0 -.1(wa)2.69 G 2.69(se).1 G .19(ncrypted with)-2.69 F +F2(tzpfms)2.69 E F0(back)2.69 E(end)-.1 E F1(TPM1.X)2.69 E F0 .191 +(will unseal the k)2.69 F .491 -.15(ey a)-.1 H .191(nd load).15 F +(it into)108 165.6 Q F3(dataset)2.5 E F0(.)A .236 (The user is \214rst prompted for the SRK passphrase, set when taking o) -108 182.4 R .236(wnership, if not "well-kno)-.25 F .236(wn" \(all)-.25 F +108 182.4 R .236(wnership, if not "well-kno)-.25 F .235(wn" \(all)-.25 F (zeroes\); then for the additional passphrase, set when creating the k) 108 194.4 Q -.15(ey)-.1 G 2.5(,i)-.5 G 2.5(fo)-2.5 G(ne w)-2.5 E -(as set.)-.1 E(See)108 211.2 Q F0(zfs-tpm1x-c)2.5 E(hang)-.15 E(e-k)-.1 -E -.3(ey)-.1 G F1(\(8\) for a detailed description.).3 E F2(OPTIONS)72 -228 Q F4109.666 240 Q F1 3.208(Do a no-op/dry run, can be used e) -131 240 R -.15(ve)-.25 G 5.708(ni).15 G 5.708(ft)-5.708 G 3.208(he k) --5.708 F 3.508 -.15(ey i)-.1 H 5.708(sa).15 G 3.208(lready loaded.) --5.708 F(Equi)8.207 E -.25(va)-.25 G 3.207(lent to).25 F F3(zfs)5.707 E -F4(load-key)131 252 Q F1 -.55('s)C F44.716 E F1(option.)2.5 E F2 -(ENVIR)72 268.8 Q 1.666(ONMENT V)-.3 F(ARIABLES)-1.35 E F4 -(TZPFMS_PASSPHRASE_HELPER)108 280.8 Q F1 .045(By def)133 292.8 R .045(a\ -ult, passphrases are prompted for and read in on the standard output an\ -d input streams.)-.1 F(If)5.046 E F4(TZPFMS_PASSPHRASE_HELPER)133 304.8 -Q F1 .896(is set and nonempty)3.397 F 3.396(,i)-.65 G 3.396(tw)-3.396 G -.896(ill be run via)-3.396 F F0(/bin/)3.396 E F3(sh)A F48.562 E F1 -.896(to pro-)3.396 F(vide each passphrase, instead.)133 316.8 Q .643 +(as set.)-.1 E(See)108 211.2 Q/F4 10/Courier@0 SF(zfs-tpm1x-change-key) +2.5 E F0(\(8\) for a detailed description.)A F1(OPTIONS)72 228 Q F2 +109.666 240 Q F0 3.208(Do a no-op/dry run, can be used e)131 240 R +-.15(ve)-.25 G 5.708(ni).15 G 5.708(ft)-5.708 G 3.208(he k)-5.708 F +3.508 -.15(ey i)-.1 H 5.708(sa).15 G 3.208(lready loaded.)-5.708 F(Equi) +8.208 E -.25(va)-.25 G 3.208(lent to).25 F F2(zfs)5.708 E(load-key)131 +252 Q F0 -.55('s)C F24.716 E F0(option.)2.5 E F1(ENVIR)72 268.8 Q +1.666(ONMENT V)-.3 F(ARIABLES)-1.35 E F4(TZPFMS_PASSPHRASE_HELPER)108 +280.8 Q F0 .046(By def)133 292.8 R .045(ault, passphrases are prompted \ +for and read in on the standard output and input streams.)-.1 F(If)5.045 +E F4(TZPFMS_PASSPHRASE_HELPER)133 304.8 Q F0 1.595(is set and nonempty) +4.095 F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F +F4(/bin/)4.096 E F2 3.262(sh \255c)B F0(to)4.096 E(pro)133 316.8 Q +(vide each passphrase, instead.)-.15 E .643 (The standard output stream of the helper is tied to an anon)133 333.6 R .643(ymous \214le and used in its entirety as)-.15 F(the passphrase, e) 133 345.6 Q(xcept for a trailing ne)-.15 E(w-line, if an)-.25 E 3.8 -.65 -(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F4($1)143 357.6 Q F1 +(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F4($1)143 357.6 Q F0 (Pre-formatted noun phrase with all the information belo)160 357.6 Q 1.3 --.65(w, f)-.25 H(or use as a prompt).65 E F4($2)143 369.6 Q F1 +-.65(w, f)-.25 H(or use as a prompt).65 E F4($2)143 369.6 Q F0 (Either the dataset name or the element of the TPM hierarch)160 369.6 Q -2.5(yb)-.05 G(eing prompted for)-2.5 E F4($3)143 381.6 Q F1("ne)160 +2.5(yb)-.05 G(eing prompted for)-2.5 E F4($3)143 381.6 Q F0("ne)160 381.6 Q(w" if this is for a ne)-.25 E 2.5(wp)-.25 G -(assphrase, otherwise blank)-2.5 E F4($4)143 393.6 Q F1("ag)160 393.6 Q +(assphrase, otherwise blank)-2.5 E F4($4)143 393.6 Q F0("ag)160 393.6 Q (ain" if it')-.05 E 2.5(st)-.55 G -(he second prompt for that passphrase, otherwise blank)-2.5 E .178 -(If the helper doesn')133 410.4 R 2.678(te)-.18 G .178 -(xist \(the shell e)-2.828 F .177(xits with)-.15 F F2(127)2.677 E F1 -.177(\), a diagnostic is issued and the normal prompt)B(is used as f)133 +(he second prompt for that passphrase, otherwise blank)-2.5 E .177 +(If the helper doesn')133 410.4 R 2.677(te)-.18 G .177 +(xist \(the shell e)-2.827 F .177(xits with)-.15 F F1(127)2.677 E F0 +.178(\), a diagnostic is issued and the normal prompt)B(is used as f)133 422.4 Q 2.5(all-back. If)-.1 F(it f)2.5 E(ails for an)-.1 E 2.5(yo)-.15 -G(ther reason, the prompting is aborted.)-2.5 E F2 1.666 +G(ther reason, the prompting is aborted.)-2.5 E F1 1.666 (TPM1.X back-end con\214guration)72 439.2 R .625(TPM selection)87 451.2 -R F1(The)108 463.2 Q F3(tzpfms)2.508 E F1 .008 -(suite connects to a local)2.508 F F0(tcsd)2.508 E F1 .008 -(\(8\) process \(at)B F0(localhost:30003)2.508 E F1 2.509(\)b)C 2.509 -(yd)-2.509 G(ef)-2.509 E 2.509(ault. Use)-.1 F .009(the en)2.509 F -(viron-)-.4 E(ment v)108 475.2 Q(ariable)-.25 E F4(TZPFMS_TPM1X)2.5 E F1 -(to specify a remote TCS hostname.)2.5 E .445(The T)108 492 R(rouSerS) --.35 E F0(tcsd)2.945 E F1 .445(\(8\) daemon will try)B F0(/de)2.945 E -(v/tpm0)-.15 E F1 2.945(,t)C(hen)-2.945 E F0(/ude)2.945 E(v/tpm0)-.15 E -F1 2.945(,t)C(hen)-2.945 E F0(/de)2.944 E(v/tpm)-.15 E F1 2.944(;b)C -2.944(yo)-2.944 G(ccup)-2.944 E .444(ying one of)-.1 F -(the earlier ones with, for e)108 504 Q -(xample, shell redirection, a later one can be selected.)-.15 E F2 .625 -(See also)87 520.8 R F1(The T)108 532.8 Q +R F0(The)108 463.2 Q F2(tzpfms)2.73 E F0 .23(suite connects to a local) +2.73 F F4(tcsd)2.73 E F0 .23(\(8\) process \(at)B F4(localhost:30003) +2.729 E F0 2.729(\)b)C 2.729(yd)-2.729 G(ef)-2.729 E 2.729(ault. Use)-.1 +F(the)2.729 E(en)108 475.2 Q(vironment v)-.4 E(ariable)-.25 E F4 +(TZPFMS_TPM1X)2.5 E F0(to specify a remote TCS hostname.)2.5 E .11 +(The T)108 492 R(rouSerS)-.35 E F4(tcsd)2.61 E F0 .11 +(\(8\) daemon will try)B F4(/dev/tpm0)2.61 E F0 2.61(,t)C(hen)-2.61 E F4 +(/udev/tpm0)2.611 E F0 2.611(,t)C(hen)-2.611 E F4(/dev/tpm)2.611 E F0 +2.611(;b)C 2.611(yo)-2.611 G(ccu-)-2.611 E -.1(py)108 504 S +(ing one of the earlier ones with, for e).1 E +(xample, shell redirection, a later one can be selected.)-.15 E F1 .625 +(See also)87 520.8 R F0(The T)108 532.8 Q (rouSerS project page at https://sourcefor)-.35 E (ge.net/projects/trousers.)-.18 E 4.415 (The TPM 1.2 main speci\214cation inde)108 549.6 R 6.915(xa)-.15 G 6.915 (th)-6.915 G(ttps://trustedcomputinggroup.or)-6.915 E -(g/resource/tpm-main-)-.18 E(speci\214cation.)108 561.6 Q F2 1.666 -(SPECIAL THANKS)72 578.4 R F1 1.6 -.8(To a)108 590.4 T +(g/resource/tpm-main-)-.18 E(speci\214cation.)108 561.6 Q F1 1.666 +(SPECIAL THANKS)72 578.4 R F0 1.6 -.8(To a)108 590.4 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.15 E F2<83>128 602.4 Q F1(ThePhD)7.5 E F2<83>128 614.4 Q F1 -(Embark Studios)7.5 E F2<83>128 626.4 Q F1(Lars Strojn)7.5 E(y)-.15 E F2 -(REPOR)72 643.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F1(https://todo.sr)108 -655.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F0(\001nabijaczle) -108 672 Q(weli/tzpfms@lists.sr)-.15 E(.ht)-1.11 E F1 2.5(,a)C(rchi)-2.5 -E -.15(ve)-.25 G 2.5(da).15 G 2.5(th)-2.5 G(ttps://lists.sr)-2.5 E -(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E(tzpfms 0.3.3-7-g893a48c) -72 817.889 Q(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E -0 Cg EP +.15 E F1<83>128 602.4 Q F0(ThePhD)7.5 E F1<83>128 614.4 Q F0 +(Embark Studios)7.5 E F1<83>128 626.4 Q F0(Lars Strojn)7.5 E(y)-.15 E F1 +(REPOR)72 643.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 +655.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F4 +(\001nabijaczleweli/tzpfms@lists.sr.ht)108 672 Q F0 83.762(,a)C(rchi) +-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E(https://lists.sr) +108 684 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E +(tzpfms 0.3.3-8-g286180b)72 817.889 Q(No)84.553 E -.15(ve)-.15 G +(mber 25, 2023).15 E(1)180.932 E 0 Cg EP %%Page: 1 7 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM2-CHANGE-KEY)72 48 Q/F1 10/Times-Roman@0 -SF 49.123(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G(anual)-2.5 E F0 -(ZFS-TPM2-CHANGE-KEY)49.122 E F1(\(8\))A/F2 10/Times-Bold@0 SF -.2(NA)72 -84 S(ME).2 E F1(zfs-tpm2-change-k)108 96 Q .3 -.15(ey \212 c)-.1 H -(hange ZFS dataset k).15 E .3 -.15(ey t)-.1 H 2.5(oo).15 G -(ne stored on the TPM)-2.5 E F2(SYNOPSIS)72 112.8 Q/F3 10/Courier-Bold@0 -SF(zfs-tpm-list)108 124.8 Q F1([)2.5 E/F4 10/Courier@0 SF1.666 E -/F5 10/Courier-Oblique@0 SF(backup-file)6 E F1 2.5(][)C F4-.834 E -F5(algorithm)6 E F4(:)A F5(PCR)A F1([)A F4(,)A F5(PCR)A F1 1.666(]...)C -([)186 136.8 Q F4(+)A F5(algorithm)A F4(:)A F5(PCR)A F1([)A F4(,)A F5 -(PCR)A F1 1.666(]...)C -3.332 1.666(]... [)-1.666 H F4A F1(]])A F5 -(dataset)2.5 E F2(DESCRIPTION)72 153.6 Q F1 1.677 -.8(To n)108 165.6 T -(ormalise).8 E F5(dataset)2.577 E F1(,)A F3(zfs-tpm-list)2.577 E F1 .076 -(will open its encryption root in its stead.)2.576 F F3(zfs-tpm-list) -5.076 E F1(will)108 177.6 Q F0(ne)2.5 E(ver)-.15 E F1(create or destro) -2.5 E 2.5(ye)-.1 G(ncryption roots; use)-2.5 E F0(zfs-c)2.5 E(hang)-.15 -E(e-k)-.1 E -.3(ey)-.1 G F1(\(8\) for that.).3 E -(First, a connection is made to the TPM, which)108 194.4 Q F0(must)2.5 E -F1(be TPM-2.0-compatible.)2.5 E(If)108 211.2 Q F5(dataset)3.054 E F1 -.1 +/F0 10/Times-Roman@0 SF 44.133(ZFS-TPM2-CHANGE-KEY\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 41.632(anual ZFS-TPM2-CHANGE-KEY\(8\))-2.5 +F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F0(zfs-tpm2-change-k)108 +96 Q .3 -.15(ey \212 c)-.1 H(hange ZFS dataset k).15 E .3 -.15(ey t)-.1 +H 2.5(oo).15 G(ne stored on the TPM)-2.5 E F1(SYNOPSIS)72 112.8 Q/F2 10 +/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q F0([)2.5 E F21.666 E +/F3 10/Courier-Oblique@0 SF(backup-file)6 E F0 2.5(][)C F2-.834 E +F3(algorithm)6 E F2(:)A F3(PCR)A F0([)A F2(,)A F3(PCR)A F0 1.666(]...)C +([)186 136.8 Q F2(+)A F3(algorithm)A F2(:)A F3(PCR)A F0([)A F2(,)A F3 +(PCR)A F0 1.666(]...)C -3.332 1.666(]... [)-1.666 H F2A F0(]])A F3 +(dataset)2.5 E F1(DESCRIPTION)72 153.6 Q F0 1.677 -.8(To n)108 165.6 T +(ormalise).8 E F3(dataset)2.577 E F0(,)A F2(zfs-tpm-list)2.577 E F0 .076 +(will open its encryption root in its stead.)2.576 F F2(zfs-tpm-list) +5.076 E F0(will)108 177.6 Q/F4 10/Times-Italic@0 SF(ne)2.5 E(ver)-.15 E +F0(create or destro)2.5 E 2.5(ye)-.1 G(ncryption roots; use)-2.5 E/F5 10 +/Courier@0 SF(zfs-change-key)2.5 E F0(\(8\) for that.)A +(First, a connection is made to the TPM, which)108 194.4 Q F4(must)2.5 E +F0(be TPM-2.0-compatible.)2.5 E(If)108 211.2 Q F3(dataset)3.054 E F0 -.1 (wa)3.054 G 3.054(sp).1 G(re)-3.054 E .554(viously encrypted with)-.25 F -F3(tzpfms)3.055 E F1 .555(and the)3.055 F F2(TPM2)3.055 E F1 .555 +F2(tzpfms)3.055 E F0 .555(and the)3.055 F F1(TPM2)3.055 E F0 .555 (back-end w)3.055 F .555(as used, the pre)-.1 F(vious)-.25 E -.1(ke)108 223.2 S 3.06(yw)-.05 G .56(ill be freed from the TPM.)-3.06 F .56 (Otherwise, or in case of an error)5.56 F 3.059(,d)-.4 G .559 (ata required for manual interv)-3.059 F(en-)-.15 E (tion will be printed to the standard error stream.)108 235.2 Q(Ne)108 -252 Q 1.74(xt, a ne)-.15 F 4.24(ww)-.25 G 1.74(rapping k)-4.24 F 2.04 --.15(ey i)-.1 H 4.24(sg).15 G 1.74(enerated on the TPM, optionally back) --4.24 F 1.741(ed up \(see \231OPTIONS\232\), and)-.1 F .576 -(sealed to a persistent object on the TPM under the o)108 264 R .575 -(wner hierarch)-.25 F .575(y; if there is a passphrase set on the)-.05 F --.25(ow)108 276 S .48(ner hierarch).25 F 1.78 -.65(y, t)-.05 H .48 -(he user is prompted for it; the user is al).65 F -.1(wa)-.1 G .481 -(ys prompted for an optional passphrase to).1 F -(protect the sealed object with.)108 288 Q(The follo)108 304.8 Q -(wing properties are set on)-.25 E F5(dataset)2.5 E F1(:)A F2<83>128 -316.8 Q F4(xyz.nabijaczleweli:tzpfms.backend)7.5 E F1(=)A F2(TPM2)A<83> -128 328.8 Q F4(xyz.nabijaczleweli:tzpfms.key)7.5 E F1(=)A F5 -(persistent-object-ID)A F1([)139 340.8 Q F4(;)A F5(algorithm)A F4(:)A F5 -(PCR)A F1([)A F4(,)A F5(PCR)A F1 1.666(]...)C([)-1.666 E F4(+)A F5 -(algorithm)A F4(:)A F5(PCR)A F1([)A F4(,)A F5(PCR)A F1 1.666(]...)C -1.666(]...)-1.666 G(])-1.666 E F4(tzpfms.backend)108 357.6 Q F1 1.264 -(identi\214es this dataset for w)3.764 F 1.263(ork with)-.1 F F2(TPM2) -3.763 E F1(-back-ended)A F3(tzpfms)3.763 E F1 1.263(tools \(namely)3.763 -F F0(zfs-tpm2-c)108 369.6 Q(hang)-.15 E(e-k)-.1 E -.3(ey)-.1 G F1 -(\(8\),).3 E F0(zfs-tpm2-load-k)2.5 E -.3(ey)-.1 G F1(\(8\), and).3 E F0 -(zfs-tpm2-clear)2.5 E(-k)-.2 E -.3(ey)-.1 G F1(\(8\)\).).3 E F4 -(tzpfms.key)108 386.4 Q F1 1.508(is an inte)4.008 F 1.509 +252 Q .294(xt, a ne)-.15 F 2.794(ww)-.25 G .294(rapping k)-2.794 F .594 +-.15(ey i)-.1 H 2.794(sg).15 G .294 +(enerated on the TPM, optionally back)-2.794 F .294(ed up \(see)-.1 F F1 +(OPTIONS)2.794 E F0 .294(\), and sealed)B .589 +(to a persistent object on the TPM under the o)108 264 R .589 +(wner hierarch)-.25 F .588(y; if there is a passphrase set on the o)-.05 +F(wner)-.25 E(hierarch)108 276 Q 1.602 -.65(y, t)-.05 H .302 +(he user is prompted for it; the user is al).65 F -.1(wa)-.1 G .302 +(ys prompted for an optional passphrase to protect).1 F +(the sealed object with.)108 288 Q(The follo)108 304.8 Q +(wing properties are set on)-.25 E F3(dataset)2.5 E F0(:)A F1<83>128 +316.8 Q F5(xyz.nabijaczleweli:tzpfms.backend)7.5 E F0(=)A F1(TPM2)A<83> +128 328.8 Q F5(xyz.nabijaczleweli:tzpfms.key)7.5 E F0(=)A F3 +(persistent-object-ID)A F0([)139 340.8 Q F2(;)A F3(algorithm)A F2(:)A F3 +(PCR)A F0([)A F2(,)A F3(PCR)A F0 1.666(]...)C([)-1.666 E F2(+)A F3 +(algorithm)A F2(:)A F3(PCR)A F0([)A F2(,)A F3(PCR)A F0 1.666(]...)C +1.666(]...)-1.666 G(])-1.666 E F5(tzpfms.backend)108 357.6 Q F0 1.264 +(identi\214es this dataset for w)3.764 F 1.263(ork with)-.1 F F1(TPM2) +3.763 E F0(-back-ended)A F2(tzpfms)3.763 E F0 1.263(tools \(namely)3.763 +F F5(zfs-tpm2-change-key)108 369.6 Q F0(\(8\),)A F5(zfs-tpm2-load-key) +2.5 E F0(\(8\), and)A F5(zfs-tpm2-clear-key)2.5 E F0(\(8\)\).)A F5 +(tzpfms.key)108 386.4 Q F0 1.508(is an inte)4.008 F 1.509 (ger representing the sealed object, optionally follo)-.15 F 1.509 (wed by a semicolon and)-.25 F .823(PCR list as speci\214ed with)108 -398.4 R F44.988 E F1 3.322(,n)C .822(ormalised to be)-3.322 F F3 -(tpm-tools)3.322 E F1 .822(-toolchain-compatible; if needed, it can)B -.865(be passed to)108 410.4 R F3(tpm2_unseal)3.366 E F4 .866 -(\255c ${tzpfms.key%%;)8.532 F/F6 10/Symbol SF(*)A F4(})A F1(with)3.366 -E F45.032 E F1(")6.866 E F4(str:${passphrase})A F1 3.366("o)C(r) --3.366 E F4109.666 422.4 Q F1(")6.22 E F4(pcr:${tzpfms.key#)A F6 -(*)A F4(;})A F1 .22(", as the case may be, or equi)B -.25(va)-.25 G .22 -(lent, for back-up \(see \231OPTIONS\232\).).25 F .447(If you ha)108 -434.4 R .747 -.15(ve a s)-.2 H .447(ealed k).15 F .748 -.15(ey y)-.1 H -.448(ou can access with that or equi).15 F -.25(va)-.25 G .448 -(lent tool and set both of these properties, it).25 F +398.4 R F24.988 E F0 3.322(,n)C .822(ormalised to be)-3.322 F F2 +(tpm-tools)3.322 E F0 .822(-toolchain-compatible; if needed, it can)B +.865(be passed to)108 410.4 R F2 2.532(tpm2_unseal \255c)3.366 F F5 +(${tzpfms.key)6.866 E F2(%%)A F5(;)A/F6 10/Symbol SF(*)A F5(})A F0(with) +3.366 E F25.032 E F0(")6.866 E F5(str:${passphrase})A F0 3.366("o) +C(r)-3.366 E F2109.666 422.4 Q F0(")6.728 E F5(pcr:${tzpfms.key)A +F2(#)A F6(*)A F5(;})A F0 .728(", as the case may be, or equi)B -.25(va) +-.25 G .727(lent, for back-up \(see).25 F F1(OPTIONS)3.227 E F0(\).)A +.447(If you ha)108 434.4 R .747 -.15(ve a s)-.2 H .447(ealed k).15 F +.748 -.15(ey y)-.1 H .448(ou can access with that or equi).15 F -.25(va) +-.25 G .448(lent tool and set both of these properties, it).25 F (will funxion seamlessly)108 446.4 Q(.)-.65 E(Finally)108 463.2 Q 12.006 -(,t)-.65 G 9.506(he equi)-12.006 F -.25(va)-.25 G 9.506(lent of).25 F F3 -(zfs)12.005 E F4 11.171(change-key \255o)15.505 F 11.171 -(keylocation=prompt \255o)15.505 F(keyformat=raw)108 475.2 Q F5(dataset) -6.106 E F1 .106(is performed with the ne)2.606 F 2.606(wk)-.25 G -.15 -(ey)-2.706 G 5.106(.I)-.5 G 2.606(fa)-5.106 G 2.606(ne)-2.606 G .107 +(,t)-.65 G 9.506(he equi)-12.006 F -.25(va)-.25 G 9.506(lent of).25 F F2 +9.505(zfs change-key)12.005 F17.171 E F5(keylocation=prompt)15.505 +E F217.171 E F5(keyformat=raw)108 475.2 Q F3(dataset)6.106 E F0 +.106(is performed with the ne)2.606 F 2.606(wk)-.25 G -.15(ey)-2.706 G +5.106(.I)-.5 G 2.606(fa)-5.106 G 2.606(ne)-2.606 G .107 (rror occurred, best ef)-2.606 F .107(fort is made)-.25 F .289(to clean\ up the persistent object and properties, or to issue a note for manual\ interv)108 487.2 R .289(ention into the stan-)-.15 F (dard error stream.)108 499.2 Q 2.624<418c>108 516 S .124(nal v)-2.624 F -.124(eri\214cation should be made by running)-.15 F F3 -(zfs-tpm2-load-key)2.625 E F47.791 E F5(dataset)6.125 E F1 5.125 -(.I)C 2.625(ft)-5.125 G .125(hat com-)-2.625 F .507 -(mand succeeds, all is well, b)108 528 R .506(ut otherwise the dataset \ -can be manually rolled back to a passphrase with)-.2 F F3 -(zfs-tpm2-clear-key)108 540 Q F5(dataset)11.538 E F1(\(or)8.039 E 8.039 -(,i)-.4 G 8.039(ft)-8.039 G 5.539(hat f)-8.039 F 5.539(ails to w)-.1 F -(ork,)-.1 E F3(zfs)8.039 E F4 7.205(change-key \255o)11.539 F -(keyformat=passphrase)108 552 Q F5(dataset)6 E F1 +.124(eri\214cation should be made by running)-.15 F F2 1.791 +(zfs-tpm2-load-key \255n)2.625 F F3(dataset)6.125 E F0 5.125(.I)C 2.625 +(ft)-5.125 G .125(hat com-)-2.625 F .507(mand succeeds, all is well, b) +108 528 R .506(ut otherwise the dataset can be manually rolled back to \ +a passphrase with)-.2 F F2(zfs-tpm2-clear-key)108 540 Q F3(dataset) +11.538 E F0(\(or)8.039 E 8.039(,i)-.4 G 8.039(ft)-8.039 G 5.539(hat f) +-8.039 F 5.539(ails to w)-.1 F(ork,)-.1 E F2 5.539(zfs change-key)8.039 +F13.205 E F5(keyformat=passphrase)108 552 Q F3(dataset)6 E F0 (\), and you are hereby ask)A(ed to report a b)-.1 E(ug, please.)-.2 E -F3(zfs-tpm2-clear-key)108 568.8 Q F5(dataset)6.029 E F1 .029 +F2(zfs-tpm2-clear-key)108 568.8 Q F3(dataset)6.029 E F0 .029 (can be used to free the TPM persistent object and go back to us-)2.529 -F(ing a passphrase.)108 580.8 Q F2(OPTIONS)72 597.6 Q F4109.666 -609.6 Q F5(backup-file)6 E F1(Sa)203 609.6 Q .352 -.15(ve a b)-.2 H .052 -(ack-up of the k).15 F .352 -.15(ey t)-.1 H(o).15 E F5(backup-file)2.552 -E F1 2.552(,w)C .052(hich must not e)-2.552 F .053(xist beforehand.)-.15 -F .694(This back-up)203 621.6 R F0(must)3.194 E F1 .694 +F(ing a passphrase.)108 580.8 Q F1(OPTIONS)72 597.6 Q F2109.666 +609.6 Q F3(backup-file)6 E F0(Sa)203 609.6 Q .352 -.15(ve a b)-.2 H .052 +(ack-up of the k).15 F .352 -.15(ey t)-.1 H(o).15 E F3(backup-file)2.552 +E F0 2.552(,w)C .052(hich must not e)-2.552 F .053(xist beforehand.)-.15 +F .694(This back-up)203 621.6 R F4(must)3.194 E F0 .694 (be stored securely)3.194 F 3.194(,o)-.65 G -.25(ff)-3.194 G 3.194 (-site. In).25 F .693(case of a catastrophic e)3.194 F -.15(ve)-.25 G (nt,).15 E(the k)203 633.6 Q .3 -.15(ey c)-.1 H(an be loaded by running) -.15 E F3(zfs)233 645.6 Q F4(load-key)6 E F5(dataset)6 E F4(<)6 E F5 -(backup-file)6 E F4109.666 662.4 Q F5(algorithm)6 E F4(:)A F5(PCR) -A F1([)A F4(,)A F5(PCR)A F1 1.666(]...)C([)-1.666 E F4(+)A F5(algorithm) -A F4(:)A F5(PCR)A F1([)A F4(,)A F5(PCR)A F1 1.666(]...)C 1.666(]...) +.15 E F2(zfs load-key)233 645.6 Q F3(dataset)6 E F5(<)6 E F3 +(backup-file)6 E F2109.666 662.4 Q F3(algorithm)6 E F2(:)A F3(PCR) +A F0([)A F2(,)A F3(PCR)A F0 1.666(]...)C([)-1.666 E F2(+)A F3(algorithm) +A F2(:)A F3(PCR)A F0([)A F2(,)A F3(PCR)A F0 1.666(]...)C 1.666(]...) -1.666 G 1.424(Bind the k)203 674.4 R 1.724 -.15(ey t)-.1 H 3.924(os).15 -G 1.424(pace- or comma-separated)-3.924 F F5(PCR)3.925 E F1 3.925(sw)C -1.425(ithin their corresponding)-3.925 F(hashing)203 686.4 Q F5 -(algorithm)2.524 E F1 2.524<8a69>2.524 G 2.523(ft)-2.524 G(he)-2.523 E +G 1.424(pace- or comma-separated)-3.924 F F3(PCR)3.925 E F0 3.925(sw)C +1.425(ithin their corresponding)-3.925 F(hashing)203 686.4 Q F3 +(algorithm)2.524 E F0 2.524<8a69>2.524 G 2.523(ft)-2.524 G(he)-2.523 E 2.523(yc)-.15 G .023(hange, the wrapping k)-2.523 F .323 -.15(ey w)-.1 H .023(ill not be able to be).15 F 2.5(unsealed. There)203 698.4 R(are)2.5 -E F2(24)2.5 E F1(PCRs, numbered [)2.5 E F2(0)A F1(,)A F2(23)2.5 E F1(].) -A F5(algorithm)203 715.2 Q F1 2.968(may be an)5.468 F 5.468(yo)-.15 G -5.468(fc)-5.468 G(ase-insensiti)-5.468 E 3.268 -.15(ve ")-.25 H F2(sha1) -.15 E F1 2.968(", ")B F2(sha256)A F1 2.969(", ")B F2(sha384)A F1(",)A(") -203 727.2 Q F2(sha512)A F1 4.983(", ")B F2(sm3_256)A F1 4.983(", ")B F2 -(sm3-256)A F1 4.983(", ")B F2(sha3_256)A F1 4.983(", ")B F2(sha3-256)A -F1 4.983(", ")B F2(sha3_384)A F1(",)A(")203 739.2 Q F2(sha3-384)A F1 -(", ")A F2(sha3_512)A F1(", or ")A F2(sha3-512)A F1 -(", and must be supported by the TPM.)A(tzpfms 0.3.3-7-g893a48c)72 -817.889 Q(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E 0 +E F1(24)2.5 E F0(PCRs, numbered [)2.5 E F1(0)A F0(,)A F1(23)2.5 E F0(].) +A F3(algorithm)203 715.2 Q F0 2.968(may be an)5.468 F 5.468(yo)-.15 G +5.468(fc)-5.468 G(ase-insensiti)-5.468 E 3.268 -.15(ve ")-.25 H F1(sha1) +.15 E F0 2.968(", ")B F1(sha256)A F0 2.969(", ")B F1(sha384)A F0(",)A(") +203 727.2 Q F1(sha512)A F0 4.983(", ")B F1(sm3_256)A F0 4.983(", ")B F1 +(sm3-256)A F0 4.983(", ")B F1(sha3_256)A F0 4.983(", ")B F1(sha3-256)A +F0 4.983(", ")B F1(sha3_384)A F0(",)A(")203 739.2 Q F1(sha3-384)A F0 +(", ")A F1(sha3_512)A F0(", or ")A F1(sha3-512)A F0 +(", and must be supported by the TPM.)A(tzpfms 0.3.3-8-g286180b)72 +817.889 Q(No)84.553 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E 0 Cg EP %%Page: 2 8 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM2-CHANGE-KEY)72 48 Q/F1 10/Times-Roman@0 -SF 49.123(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G(anual)-2.5 E F0 -(ZFS-TPM2-CHANGE-KEY)49.122 E F1(\(8\))A/F2 10/Courier@0 SF109.666 -84 Q F1 -.4(Wi)203 84 S(th).4 E F24.588 E F1 2.922(,a)C .422 -(lso prompt for a passphrase.)-2.922 F .422(This is skipped by def)5.422 -F .423(ault because the)-.1 F .675(passphrase is)203 96 R F0(OR)3.175 E -F1 .675(ed with the PCR polic)B 3.175(y\212t)-.15 G .675(he wrapping k) --3.175 F .975 -.15(ey c)-.1 H .675(an be unsealed).15 F F0(either)203 -108 Q F1 1.389(passphraseless with the right PCRs)3.889 F F0(or)3.89 E -F1 1.39(with the passphrase, and this is)3.89 F(usually not the intent.) -203 120 Q/F3 10/Times-Bold@0 SF(ENVIR)72 136.8 Q 1.666(ONMENT V)-.3 F -(ARIABLES)-1.35 E F2(TZPFMS_PASSPHRASE_HELPER)108 148.8 Q F1 .046 +/F0 10/Times-Roman@0 SF 44.133(ZFS-TPM2-CHANGE-KEY\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 41.632(anual ZFS-TPM2-CHANGE-KEY\(8\))-2.5 +F/F1 10/Courier-Bold@0 SF109.666 84 Q F0 -.4(Wi)203 84 S(th).4 E +F14.588 E F0 2.922(,a)C .422(lso prompt for a passphrase.)-2.922 F +.422(This is skipped by def)5.422 F .423(ault because the)-.1 F .675 +(passphrase is)203 96 R/F2 10/Times-Italic@0 SF(OR)3.175 E F0 .675 +(ed with the PCR polic)B 3.175(y\212t)-.15 G .675(he wrapping k)-3.175 F +.975 -.15(ey c)-.1 H .675(an be unsealed).15 F F2(either)203 108 Q F0 +1.389(passphraseless with the right PCRs)3.889 F F2(or)3.89 E F0 1.39 +(with the passphrase, and this is)3.89 F(usually not the intent.)203 120 +Q/F3 10/Times-Bold@0 SF(ENVIR)72 136.8 Q 1.666(ONMENT V)-.3 F(ARIABLES) +-1.35 E/F4 10/Courier@0 SF(TZPFMS_PASSPHRASE_HELPER)108 148.8 Q F0 .046 (By def)133 160.8 R .045(ault, passphrases are prompted for and read in\ - on the standard output and input streams.)-.1 F(If)5.045 E F2 -(TZPFMS_PASSPHRASE_HELPER)133 172.8 Q F1 .896(is set and nonempty)3.396 -F 3.396(,i)-.65 G 3.396(tw)-3.396 G .896(ill be run via)-3.396 F F0 -(/bin/)3.396 E/F4 10/Courier-Bold@0 SF(sh)A F28.562 E F1 .897 -(to pro-)3.396 F(vide each passphrase, instead.)133 184.8 Q .643 + on the standard output and input streams.)-.1 F(If)5.045 E F4 +(TZPFMS_PASSPHRASE_HELPER)133 172.8 Q F0 1.595(is set and nonempty)4.095 +F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F4 +(/bin/)4.096 E F1 3.262(sh \255c)B F0(to)4.096 E(pro)133 184.8 Q +(vide each passphrase, instead.)-.15 E .643 (The standard output stream of the helper is tied to an anon)133 201.6 R .643(ymous \214le and used in its entirety as)-.15 F(the passphrase, e) 133 213.6 Q(xcept for a trailing ne)-.15 E(w-line, if an)-.25 E 3.8 -.65 -(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F2($1)143 225.6 Q F1 +(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F4($1)143 225.6 Q F0 (Pre-formatted noun phrase with all the information belo)160 225.6 Q 1.3 --.65(w, f)-.25 H(or use as a prompt).65 E F2($2)143 237.6 Q F1 +-.65(w, f)-.25 H(or use as a prompt).65 E F4($2)143 237.6 Q F0 (Either the dataset name or the element of the TPM hierarch)160 237.6 Q -2.5(yb)-.05 G(eing prompted for)-2.5 E F2($3)143 249.6 Q F1("ne)160 +2.5(yb)-.05 G(eing prompted for)-2.5 E F4($3)143 249.6 Q F0("ne)160 249.6 Q(w" if this is for a ne)-.25 E 2.5(wp)-.25 G -(assphrase, otherwise blank)-2.5 E F2($4)143 261.6 Q F1("ag)160 261.6 Q +(assphrase, otherwise blank)-2.5 E F4($4)143 261.6 Q F0("ag)160 261.6 Q (ain" if it')-.05 E 2.5(st)-.55 G (he second prompt for that passphrase, otherwise blank)-2.5 E .177 (If the helper doesn')133 278.4 R 2.677(te)-.18 G .177 -(xist \(the shell e)-2.827 F .177(xits with)-.15 F F3(127)2.677 E F1 +(xist \(the shell e)-2.827 F .177(xits with)-.15 F F3(127)2.677 E F0 .178(\), a diagnostic is issued and the normal prompt)B(is used as f)133 290.4 Q 2.5(all-back. If)-.1 F(it f)2.5 E(ails for an)-.1 E 2.5(yo)-.15 G(ther reason, the prompting is aborted.)-2.5 E F3 1.666 (TPM2 back-end con\214guration)72 307.2 R(En)87 319.2 Q(vir)-.4 E .625 -(onment v)-.18 F(ariables)-.1 E F2(TSS2_LOG)108 331.2 Q F1(An)161 331.2 -Q 2.5(yo)-.15 G(f:)-2.5 E F3(NONE)2.5 E F1(,)A F3(ERR)2.5 E(OR)-.3 E F1 -(,)A F3 -1.2(WA)2.5 G(RNING)1.2 E F1(,)A F3(INFO)2.5 E F1(,)A F3(DEB)2.5 -E(UG)-.1 E F1(,)A F3(TRA)2.5 E(CE)-.55 E F1 5(.D)C(ef)-5 E(ault:)-.1 E -F3 -1.2(WA)2.5 G(RNING)1.2 E F1(.)A F3 .625(TPM selection)87 348 R F1 -.978(The library)108 360 R F4(libtss2-tcti-default.so)3.477 E F1 .977 -(can be link)3.477 F .977(ed to an)-.1 F 3.477(yo)-.15 G 3.477(ft)-3.477 -G(he)-3.477 E F0(libtss2-tcti-)3.477 E/F5 10/Symbol SF(*)A F0(.so)A F1 -.977(libraries to)3.477 F 1.145(select the def)108 372 R 1.145 -(ault, otherwise)-.1 F F0(/de)3.646 E(v/tpmrm0)-.15 E F1 3.646(,t)C(hen) --3.646 E F0(/de)3.646 E(v/tpm0)-.15 E F1 3.646(,t)C(hen)-3.646 E F0 -(localhost:2321)3.646 E F1 1.146(will be tried, in order)3.646 F(\(see) -108 384 Q F0(ESYS_CONTEXT)2.5 E F1(\(3\)\).)A F3 .625(See also)87 400.8 -R F1 2.247(The tpm2-tss git repository at https://github)108 412.8 R +(onment v)-.18 F(ariables)-.1 E F4(TSS2_LOG)108 331.2 Q F0(An)161 331.2 +Q 2.5(yo)-.15 G(f:)-2.5 E F3(NONE)2.5 E F0(,)A F3(ERR)2.5 E(OR)-.3 E F0 +(,)A F3 -1.2(WA)2.5 G(RNING)1.2 E F0(,)A F3(INFO)2.5 E F0(,)A F3(DEB)2.5 +E(UG)-.1 E F0(,)A F3(TRA)2.5 E(CE)-.55 E F0 5(.D)C(ef)-5 E(ault:)-.1 E +F3 -1.2(WA)2.5 G(RNING)1.2 E F0(.)A F3 .625(TPM selection)87 348 R F0 +.622(The library)108 360 R F1(libtss2-tcti-default.so)3.122 E F0 .622 +(can be link)3.122 F .621(ed to an)-.1 F 3.121(yo)-.15 G 3.121(ft)-3.121 +G(he)-3.121 E F4(libtss2-tcti-)3.121 E/F5 10/Symbol SF(*)A F4(.so)A F0 +(li-)3.121 E .78(braries to select the def)108 372 R .78 +(ault, otherwise)-.1 F F4(/dev/tpmrm0)3.281 E F0 3.281(,t)C(hen)-3.281 E +F4(/dev/tpm0)3.281 E F0 3.281(,t)C(hen)-3.281 E F4(localhost:2321)3.281 +E F0(will be tried, in order \(see)108 384 Q F4(ESYS_CONTEXT)2.5 E F0 +(\(3\)\).)A F3 .625(See also)87 400.8 R F0 2.247 +(The tpm2-tss git repository at https://github)108 412.8 R (.com/tpm2-softw)-.4 E 2.247(are/tpm2-tss and the documentation at)-.1 F (https://tpm2-tss.readthedocs.io.)108 424.8 Q 5.774(The TPM 2.0 speci\ \214cations, mainly at https://trustedcomputinggroup.or)108 441.6 R @@ -841,184 +831,182 @@ R F1 2.247(The tpm2-tss git repository at https://github)108 412.8 R (speci\214cation/, https://trustedcomputinggroup.or)108 453.6 R (g/wp-content/uploads/TPM-)-.18 E(Re)108 465.6 Q(v-2.0-P)-.25 E (art-1-Architecture-01.38.pdf, and related pages.)-.15 E F3 1.666 -(SPECIAL THANKS)72 482.4 R F1 1.6 -.8(To a)108 494.4 T +(SPECIAL THANKS)72 482.4 R F0 1.6 -.8(To a)108 494.4 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.15 E F3<83>128 506.4 Q F1(ThePhD)7.5 E F3<83>128 518.4 Q F1 -(Embark Studios)7.5 E F3<83>128 530.4 Q F1(Lars Strojn)7.5 E(y)-.15 E F3 -(REPOR)72 547.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F1(https://todo.sr)108 -559.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F0(\001nabijaczle) -108 576 Q(weli/tzpfms@lists.sr)-.15 E(.ht)-1.11 E F1 2.5(,a)C(rchi)-2.5 -E -.15(ve)-.25 G 2.5(da).15 G 2.5(th)-2.5 G(ttps://lists.sr)-2.5 E -(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E F3 1.666(SEE ALSO)72 -592.8 R F0(tpm2_unseal)108 604.8 Q F1(\(1\))A -(PCR allocations: https://wiki.archlinux.or)108 621.6 Q(g/title/T)-.18 E +.15 E F3<83>128 506.4 Q F0(ThePhD)7.5 E F3<83>128 518.4 Q F0 +(Embark Studios)7.5 E F3<83>128 530.4 Q F0(Lars Strojn)7.5 E(y)-.15 E F3 +(REPOR)72 547.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 +559.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F4 +(\001nabijaczleweli/tzpfms@lists.sr.ht)108 576 Q F0 83.762(,a)C(rchi) +-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E(https://lists.sr) +108 588 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E F3 1.666 +(SEE ALSO)72 604.8 R F4(tpm2_unseal)108 616.8 Q F0(\(1\))A +(PCR allocations: https://wiki.archlinux.or)108 633.6 Q(g/title/T)-.18 E (rusted_Platform_Module#Accessing_PCR_re)-.35 E(gisters)-.15 E -(and https://trustedcomputinggroup.or)108 633.6 Q +(and https://trustedcomputinggroup.or)108 645.6 Q (g/wp-content/uploads/PC-)-.18 E(ClientSpeci\214c_Platform_Pro\214le_fo\ -r_TPM_2p0_Systems_v51.pdf, Section 2.3.4 "PCR Usage", T)108 645.6 Q -(able)-.8 E(1.)108 657.6 Q(tzpfms 0.3.3-7-g893a48c)72 817.889 Q(No) -85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(2)180.932 E 0 Cg EP +r_TPM_2p0_Systems_v51.pdf, Section 2.3.4 "PCR Usage", T)108 657.6 Q +(able)-.8 E(1.)108 669.6 Q(tzpfms 0.3.3-8-g286180b)72 817.889 Q(No) +84.553 E -.15(ve)-.15 G(mber 25, 2023).15 E(2)180.932 E 0 Cg EP %%Page: 1 9 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM2-CLEAR-KEY)72 48 Q/F1 10/Times-Roman@0 -SF 58.563(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G(anual)-2.5 E F0 -(ZFS-TPM2-CLEAR-KEY)58.562 E F1(\(8\))A/F2 10/Times-Bold@0 SF -.2(NA)72 -84 S(ME).2 E F1(zfs-tpm2-clear)108 96 Q(-k)-.2 E .3 -.15(ey \212 r)-.1 H --.25(ew).15 G(rap ZFS dataset k).25 E .3 -.15(ey i)-.1 H 2.5(np).15 G -(asssw)-2.5 E(ord and clear tzpfms TPM2 metadata)-.1 E F2(SYNOPSIS)72 -112.8 Q/F3 10/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q/F4 10 -/Courier-Oblique@0 SF(dataset)2.5 E F2(DESCRIPTION)72 141.6 Q F1 -(After v)108 153.6 Q(erifying)-.15 E F4(dataset)2.5 E F1 -.1(wa)2.5 G -2.5(se).1 G(ncrypted with)-2.5 E F3(tzpfms)2.5 E F1(back)2.5 E(end)-.1 E -F2(TPM2)2.5 E F1(:)A 5(1. performs)118 165.6 R 5.641(the equi)8.141 F --.25(va)-.25 G 5.641(lent of).25 F F3(zfs)8.142 E/F5 10/Courier@0 SF -7.308(change-key \255o)11.642 F 7.308(keylocation=prompt \255o)11.642 F -(keyformat=passphrase)133 177.6 Q F4(dataset)6 E F1(,)A 5(2. frees)118 +/F0 10/Times-Roman@0 SF 53.013(ZFS-TPM2-CLEAR-KEY\(8\) System)72 48 R +(Manager')2.5 E 2.5(sM)-.55 G 50.512(anual ZFS-TPM2-CLEAR-KEY\(8\))-2.5 +F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F0(zfs-tpm2-clear)108 96 +Q(-k)-.2 E .3 -.15(ey \212 r)-.1 H -.25(ew).15 G(rap ZFS dataset k).25 E +.3 -.15(ey i)-.1 H 2.5(np).15 G(asssw)-2.5 E +(ord and clear tzpfms TPM2 metadata)-.1 E F1(SYNOPSIS)72 112.8 Q/F2 10 +/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q/F3 10/Courier-Oblique@0 SF +(dataset)2.5 E F1(DESCRIPTION)72 141.6 Q F0(After v)108 153.6 Q +(erifying)-.15 E F3(dataset)2.5 E F0 -.1(wa)2.5 G 2.5(se).1 G +(ncrypted with)-2.5 E F2(tzpfms)2.5 E F0(back)2.5 E(end)-.1 E F1(TPM2) +2.5 E F0(:)A 5(1. performs)118 165.6 R 5.642(the equi)8.142 F -.25(va) +-.25 G 5.642(lent of).25 F F2 5.642(zfs change-key)8.142 F13.307 E +/F4 10/Courier@0 SF(keylocation=prompt)11.641 E F213.307 E F4 +(keyformat=passphrase)133 177.6 Q F3(dataset)6 E F0(,)A 5(2. frees)118 189.6 R(the sealed k)2.5 E .3 -.15(ey p)-.1 H(re).15 E -(viously used to encrypt)-.25 E F4(dataset)2.5 E F1(,)A 5(3. remo)118 -201.6 R -.15(ve)-.15 G 10.689(st).15 G(he)-10.689 E F5 -(xyz.nabijaczleweli:tzpfms.)10.689 E F1({)A F5(backend)A F1(,)A F5(key) -14.189 E F1 10.689(}p)C 8.189(roperties from)-10.689 F F4(dataset)133 -213.6 Q F1(.)A(See)108 230.4 Q F0(zfs-tpm2-c)2.5 E(hang)-.15 E(e-k)-.1 E --.3(ey)-.1 G F1(\(8\) for a detailed description.).3 E F2(ENVIR)72 247.2 -Q 1.666(ONMENT V)-.3 F(ARIABLES)-1.35 E F5(TZPFMS_PASSPHRASE_HELPER)108 -259.2 Q F1 .045(By def)133 271.2 R .045(ault, passphrases are prompted \ -for and read in on the standard output and input streams.)-.1 F(If)5.046 -E F5(TZPFMS_PASSPHRASE_HELPER)133 283.2 Q F1 .896(is set and nonempty) -3.397 F 3.396(,i)-.65 G 3.396(tw)-3.396 G .896(ill be run via)-3.396 F -F0(/bin/)3.396 E F3(sh)A F58.562 E F1 .896(to pro-)3.396 F -(vide each passphrase, instead.)133 295.2 Q .643 +(viously used to encrypt)-.25 E F3(dataset)2.5 E F0(,)A 5(3. remo)118 +201.6 R -.15(ve)-.15 G 10.689(st).15 G(he)-10.689 E F4 +(xyz.nabijaczleweli:tzpfms.)10.689 E F0({)A F4(backend)A F0(,)A F4(key) +14.189 E F0 10.689(}p)C 8.189(roperties from)-10.689 F F3(dataset)133 +213.6 Q F0(.)A(See)108 230.4 Q F4(zfs-tpm2-change-key)2.5 E F0 +(\(8\) for a detailed description.)A F1(ENVIR)72 247.2 Q 1.666(ONMENT V) +-.3 F(ARIABLES)-1.35 E F4(TZPFMS_PASSPHRASE_HELPER)108 259.2 Q F0 .046 +(By def)133 271.2 R .045(ault, passphrases are prompted for and read in\ + on the standard output and input streams.)-.1 F(If)5.045 E F4 +(TZPFMS_PASSPHRASE_HELPER)133 283.2 Q F0 1.595(is set and nonempty)4.095 +F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F4 +(/bin/)4.096 E F2 3.262(sh \255c)B F0(to)4.096 E(pro)133 295.2 Q +(vide each passphrase, instead.)-.15 E .643 (The standard output stream of the helper is tied to an anon)133 312 R .643(ymous \214le and used in its entirety as)-.15 F(the passphrase, e) 133 324 Q(xcept for a trailing ne)-.15 E(w-line, if an)-.25 E 3.8 -.65 -(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F5($1)143 336 Q F1 +(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F4($1)143 336 Q F0 (Pre-formatted noun phrase with all the information belo)160 336 Q 1.3 --.65(w, f)-.25 H(or use as a prompt).65 E F5($2)143 348 Q F1 +-.65(w, f)-.25 H(or use as a prompt).65 E F4($2)143 348 Q F0 (Either the dataset name or the element of the TPM hierarch)160 348 Q -2.5(yb)-.05 G(eing prompted for)-2.5 E F5($3)143 360 Q F1("ne)160 360 Q +2.5(yb)-.05 G(eing prompted for)-2.5 E F4($3)143 360 Q F0("ne)160 360 Q (w" if this is for a ne)-.25 E 2.5(wp)-.25 G(assphrase, otherwise blank) --2.5 E F5($4)143 372 Q F1("ag)160 372 Q(ain" if it')-.05 E 2.5(st)-.55 G -(he second prompt for that passphrase, otherwise blank)-2.5 E .178 -(If the helper doesn')133 388.8 R 2.678(te)-.18 G .178 -(xist \(the shell e)-2.828 F .177(xits with)-.15 F F2(127)2.677 E F1 -.177(\), a diagnostic is issued and the normal prompt)B(is used as f)133 +-2.5 E F4($4)143 372 Q F0("ag)160 372 Q(ain" if it')-.05 E 2.5(st)-.55 G +(he second prompt for that passphrase, otherwise blank)-2.5 E .177 +(If the helper doesn')133 388.8 R 2.677(te)-.18 G .177 +(xist \(the shell e)-2.827 F .177(xits with)-.15 F F1(127)2.677 E F0 +.178(\), a diagnostic is issued and the normal prompt)B(is used as f)133 400.8 Q 2.5(all-back. If)-.1 F(it f)2.5 E(ails for an)-.1 E 2.5(yo)-.15 -G(ther reason, the prompting is aborted.)-2.5 E F2 1.666 +G(ther reason, the prompting is aborted.)-2.5 E F1 1.666 (TPM2 back-end con\214guration)72 417.6 R(En)87 429.6 Q(vir)-.4 E .625 -(onment v)-.18 F(ariables)-.1 E F5(TSS2_LOG)108 441.6 Q F1(An)161 441.6 -Q 2.5(yo)-.15 G(f:)-2.5 E F2(NONE)2.5 E F1(,)A F2(ERR)2.5 E(OR)-.3 E F1 -(,)A F2 -1.2(WA)2.5 G(RNING)1.2 E F1(,)A F2(INFO)2.5 E F1(,)A F2(DEB)2.5 -E(UG)-.1 E F1(,)A F2(TRA)2.5 E(CE)-.55 E F1 5(.D)C(ef)-5 E(ault:)-.1 E -F2 -1.2(WA)2.5 G(RNING)1.2 E F1(.)A F2 .625(TPM selection)87 458.4 R F1 -.977(The library)108 470.4 R F3(libtss2-tcti-default.so)3.477 E F1 .977 -(can be link)3.477 F .977(ed to an)-.1 F 3.477(yo)-.15 G 3.477(ft)-3.477 -G(he)-3.477 E F0(libtss2-tcti-)3.477 E/F6 10/Symbol SF(*)A F0(.so)A F1 -.978(libraries to)3.477 F 1.146(select the def)108 482.4 R 1.146 -(ault, otherwise)-.1 F F0(/de)3.646 E(v/tpmrm0)-.15 E F1 3.646(,t)C(hen) --3.646 E F0(/de)3.646 E(v/tpm0)-.15 E F1 3.646(,t)C(hen)-3.646 E F0 -(localhost:2321)3.646 E F1 1.145(will be tried, in order)3.646 F(\(see) -108 494.4 Q F0(ESYS_CONTEXT)2.5 E F1(\(3\)\).)A F2 .625(See also)87 -511.2 R F1 2.247(The tpm2-tss git repository at https://github)108 523.2 -R(.com/tpm2-softw)-.4 E 2.247(are/tpm2-tss and the documentation at)-.1 -F(https://tpm2-tss.readthedocs.io.)108 535.2 Q 5.774(The TPM 2.0 speci\ +(onment v)-.18 F(ariables)-.1 E F4(TSS2_LOG)108 441.6 Q F0(An)161 441.6 +Q 2.5(yo)-.15 G(f:)-2.5 E F1(NONE)2.5 E F0(,)A F1(ERR)2.5 E(OR)-.3 E F0 +(,)A F1 -1.2(WA)2.5 G(RNING)1.2 E F0(,)A F1(INFO)2.5 E F0(,)A F1(DEB)2.5 +E(UG)-.1 E F0(,)A F1(TRA)2.5 E(CE)-.55 E F0 5(.D)C(ef)-5 E(ault:)-.1 E +F1 -1.2(WA)2.5 G(RNING)1.2 E F0(.)A F1 .625(TPM selection)87 458.4 R F0 +.622(The library)108 470.4 R F2(libtss2-tcti-default.so)3.122 E F0 .622 +(can be link)3.122 F .621(ed to an)-.1 F 3.121(yo)-.15 G 3.121(ft)-3.121 +G(he)-3.121 E F4(libtss2-tcti-)3.121 E/F5 10/Symbol SF(*)A F4(.so)A F0 +(li-)3.121 E .78(braries to select the def)108 482.4 R .78 +(ault, otherwise)-.1 F F4(/dev/tpmrm0)3.281 E F0 3.281(,t)C(hen)-3.281 E +F4(/dev/tpm0)3.281 E F0 3.281(,t)C(hen)-3.281 E F4(localhost:2321)3.281 +E F0(will be tried, in order \(see)108 494.4 Q F4(ESYS_CONTEXT)2.5 E F0 +(\(3\)\).)A F1 .625(See also)87 511.2 R F0 2.247 +(The tpm2-tss git repository at https://github)108 523.2 R +(.com/tpm2-softw)-.4 E 2.247(are/tpm2-tss and the documentation at)-.1 F +(https://tpm2-tss.readthedocs.io.)108 535.2 Q 5.774(The TPM 2.0 speci\ \214cations, mainly at https://trustedcomputinggroup.or)108 552 R (g/resource/tpm-library-)-.18 E 111.845 (speci\214cation/, https://trustedcomputinggroup.or)108 564 R (g/wp-content/uploads/TPM-)-.18 E(Re)108 576 Q(v-2.0-P)-.25 E -(art-1-Architecture-01.38.pdf, and related pages.)-.15 E F2 1.666 -(SPECIAL THANKS)72 592.8 R F1 1.6 -.8(To a)108 604.8 T +(art-1-Architecture-01.38.pdf, and related pages.)-.15 E F1 1.666 +(SPECIAL THANKS)72 592.8 R F0 1.6 -.8(To a)108 604.8 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.15 E F2<83>128 616.8 Q F1(ThePhD)7.5 E F2<83>128 628.8 Q F1 -(Embark Studios)7.5 E F2<83>128 640.8 Q F1(Lars Strojn)7.5 E(y)-.15 E F2 -(REPOR)72 657.6 Q 1.666(TING B)-.4 F(UGS)-.1 E F1(https://todo.sr)108 -669.6 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F0(\001nabijaczle) -108 686.4 Q(weli/tzpfms@lists.sr)-.15 E(.ht)-1.11 E F1 2.5(,a)C(rchi) --2.5 E -.15(ve)-.25 G 2.5(da).15 G 2.5(th)-2.5 G(ttps://lists.sr)-2.5 E -(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E(tzpfms 0.3.3-7-g893a48c) -72 817.889 Q(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E -0 Cg EP +.15 E F1<83>128 616.8 Q F0(ThePhD)7.5 E F1<83>128 628.8 Q F0 +(Embark Studios)7.5 E F1<83>128 640.8 Q F0(Lars Strojn)7.5 E(y)-.15 E F1 +(REPOR)72 657.6 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 +669.6 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F4 +(\001nabijaczleweli/tzpfms@lists.sr.ht)108 686.4 Q F0 83.762(,a)C(rchi) +-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E(https://lists.sr) +108 698.4 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E +(tzpfms 0.3.3-8-g286180b)72 817.889 Q(No)84.553 E -.15(ve)-.15 G +(mber 25, 2023).15 E(1)180.932 E 0 Cg EP %%Page: 1 10 %%BeginPageSetup BP %%EndPageSetup -/F0 10/Times-Italic@0 SF(ZFS-TPM2-LO)72 48 Q(AD-KEY)-.55 E/F1 10 -/Times-Roman@0 SF 63.563(\(8\) System)B(Manager')2.5 E 2.5(sM)-.55 G -(anual)-2.5 E F0(ZFS-TPM2-LO)63.562 E(AD-KEY)-.55 E F1(\(8\))A/F2 10 -/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F1(zfs-tpm2-load-k)108 96 Q .3 --.15(ey \212 l)-.1 H(oad TPM2-encrypted ZFS dataset k).15 E -.15(ey)-.1 -G F2(SYNOPSIS)72 112.8 Q/F3 10/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 -Q F1([)2.5 E/F4 10/Courier@0 SF1.666 E F1(])A/F5 10 -/Courier-Oblique@0 SF(dataset)2.5 E F2(DESCRIPTION)72 141.6 Q F1 .865 -(After v)108 153.6 R(erifying)-.15 E F5(dataset)3.365 E F1 -.1(wa)3.365 -G 3.365(se).1 G .865(ncrypted with)-3.365 F F3(tzpfms)3.365 E F1(back) -3.365 E(end)-.1 E F2(TPM2)3.365 E F1 3.365(,u)C .864(nseals the k)-3.365 -F 1.164 -.15(ey a)-.1 H .864(nd loads it).15 F(into)108 165.6 Q F5 -(dataset)2.5 E F1(.)A(The user is prompted for the additional passphras\ -e, set when creating the k)108 182.4 Q -.15(ey)-.1 G 2.5(,i)-.5 G 2.5 -(fo)-2.5 G(ne w)-2.5 E(as set.)-.1 E(See)108 199.2 Q F0(zfs-tpm2-c)2.5 E -(hang)-.15 E(e-k)-.1 E -.3(ey)-.1 G F1 -(\(8\) for a detailed description.).3 E F2(OPTIONS)72 216 Q F4 -109.666 228 Q F1 3.208(Do a no-op/dry run, can be used e)131 228 R -.15 -(ve)-.25 G 5.708(ni).15 G 5.708(ft)-5.708 G 3.208(he k)-5.708 F 3.508 --.15(ey i)-.1 H 5.708(sa).15 G 3.208(lready loaded.)-5.708 F(Equi)8.208 -E -.25(va)-.25 G 3.208(lent to).25 F F3(zfs)5.708 E F4(load-key)131 240 -Q F1 -.55('s)C F44.716 E F1(option.)2.5 E F2(ENVIR)72 256.8 Q -1.666(ONMENT V)-.3 F(ARIABLES)-1.35 E F4(TZPFMS_PASSPHRASE_HELPER)108 -268.8 Q F1 .046(By def)133 280.8 R .045(ault, passphrases are prompted \ -for and read in on the standard output and input streams.)-.1 F(If)5.045 -E F4(TZPFMS_PASSPHRASE_HELPER)133 292.8 Q F1 .896(is set and nonempty) -3.396 F 3.396(,i)-.65 G 3.396(tw)-3.396 G .896(ill be run via)-3.396 F -F0(/bin/)3.396 E F3(sh)A F48.562 E F1 .897(to pro-)3.396 F -(vide each passphrase, instead.)133 304.8 Q .643 +/F0 10/Times-Roman@0 SF(ZFS-TPM2-LO)72 48 Q 58.373(AD-KEY\(8\) System) +-.35 F(Manager')2.5 E 2.5(sM)-.55 G 55.872(anual ZFS-TPM2-LO)-2.5 F +(AD-KEY\(8\))-.35 E/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E F0 +(zfs-tpm2-load-k)108 96 Q .3 -.15(ey \212 l)-.1 H +(oad TPM2-encrypted ZFS dataset k).15 E -.15(ey)-.1 G F1(SYNOPSIS)72 +112.8 Q/F2 10/Courier-Bold@0 SF(zfs-tpm-list)108 124.8 Q F0([)2.5 E F2 +1.666 E F0(])A/F3 10/Courier-Oblique@0 SF(dataset)2.5 E F1 +(DESCRIPTION)72 141.6 Q F0 .865(After v)108 153.6 R(erifying)-.15 E F3 +(dataset)3.365 E F0 -.1(wa)3.365 G 3.365(se).1 G .865(ncrypted with) +-3.365 F F2(tzpfms)3.365 E F0(back)3.365 E(end)-.1 E F1(TPM2)3.365 E F0 +3.365(,u)C .864(nseals the k)-3.365 F 1.164 -.15(ey a)-.1 H .864 +(nd loads it).15 F(into)108 165.6 Q F3(dataset)2.5 E F0(.)A(The user is\ + prompted for the additional passphrase, set when creating the k)108 +182.4 Q -.15(ey)-.1 G 2.5(,i)-.5 G 2.5(fo)-2.5 G(ne w)-2.5 E(as set.)-.1 +E(See)108 199.2 Q/F4 10/Courier@0 SF(zfs-tpm2-change-key)2.5 E F0 +(\(8\) for a detailed description.)A F1(OPTIONS)72 216 Q F2109.666 +228 Q F0 3.208(Do a no-op/dry run, can be used e)131 228 R -.15(ve)-.25 +G 5.708(ni).15 G 5.708(ft)-5.708 G 3.208(he k)-5.708 F 3.508 -.15(ey i) +-.1 H 5.708(sa).15 G 3.208(lready loaded.)-5.708 F(Equi)8.208 E -.25(va) +-.25 G 3.208(lent to).25 F F2(zfs)5.708 E(load-key)131 240 Q F0 -.55('s) +C F24.716 E F0(option.)2.5 E F1(ENVIR)72 256.8 Q 1.666(ONMENT V) +-.3 F(ARIABLES)-1.35 E F4(TZPFMS_PASSPHRASE_HELPER)108 268.8 Q F0 .046 +(By def)133 280.8 R .045(ault, passphrases are prompted for and read in\ + on the standard output and input streams.)-.1 F(If)5.045 E F4 +(TZPFMS_PASSPHRASE_HELPER)133 292.8 Q F0 1.595(is set and nonempty)4.095 +F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F4 +(/bin/)4.096 E F2 3.262(sh \255c)B F0(to)4.096 E(pro)133 304.8 Q +(vide each passphrase, instead.)-.15 E .643 (The standard output stream of the helper is tied to an anon)133 321.6 R .643(ymous \214le and used in its entirety as)-.15 F(the passphrase, e) 133 333.6 Q(xcept for a trailing ne)-.15 E(w-line, if an)-.25 E 3.8 -.65 -(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F4($1)143 345.6 Q F1 +(y. T)-.15 H(he ar).65 E(guments are:)-.18 E F4($1)143 345.6 Q F0 (Pre-formatted noun phrase with all the information belo)160 345.6 Q 1.3 --.65(w, f)-.25 H(or use as a prompt).65 E F4($2)143 357.6 Q F1 +-.65(w, f)-.25 H(or use as a prompt).65 E F4($2)143 357.6 Q F0 (Either the dataset name or the element of the TPM hierarch)160 357.6 Q -2.5(yb)-.05 G(eing prompted for)-2.5 E F4($3)143 369.6 Q F1("ne)160 +2.5(yb)-.05 G(eing prompted for)-2.5 E F4($3)143 369.6 Q F0("ne)160 369.6 Q(w" if this is for a ne)-.25 E 2.5(wp)-.25 G -(assphrase, otherwise blank)-2.5 E F4($4)143 381.6 Q F1("ag)160 381.6 Q +(assphrase, otherwise blank)-2.5 E F4($4)143 381.6 Q F0("ag)160 381.6 Q (ain" if it')-.05 E 2.5(st)-.55 G (he second prompt for that passphrase, otherwise blank)-2.5 E .177 (If the helper doesn')133 398.4 R 2.677(te)-.18 G .177 -(xist \(the shell e)-2.827 F .177(xits with)-.15 F F2(127)2.677 E F1 +(xist \(the shell e)-2.827 F .177(xits with)-.15 F F1(127)2.677 E F0 .178(\), a diagnostic is issued and the normal prompt)B(is used as f)133 410.4 Q 2.5(all-back. If)-.1 F(it f)2.5 E(ails for an)-.1 E 2.5(yo)-.15 -G(ther reason, the prompting is aborted.)-2.5 E F2 1.666 +G(ther reason, the prompting is aborted.)-2.5 E F1 1.666 (TPM1.X back-end con\214guration)72 427.2 R .625(TPM selection)87 439.2 -R F1(The)108 451.2 Q F3(tzpfms)2.509 E F1 .009 -(suite connects to a local)2.509 F F0(tcsd)2.508 E F1 .008 -(\(8\) process \(at)B F0(localhost:30003)2.508 E F1 2.508(\)b)C 2.508 -(yd)-2.508 G(ef)-2.508 E 2.508(ault. Use)-.1 F .008(the en)2.508 F -(viron-)-.4 E(ment v)108 463.2 Q(ariable)-.25 E F4(TZPFMS_TPM1X)2.5 E F1 -(to specify a remote TCS hostname.)2.5 E .444(The T)108 480 R(rouSerS) --.35 E F0(tcsd)2.944 E F1 .444(\(8\) daemon will try)B F0(/de)2.945 E -(v/tpm0)-.15 E F1 2.945(,t)C(hen)-2.945 E F0(/ude)2.945 E(v/tpm0)-.15 E -F1 2.945(,t)C(hen)-2.945 E F0(/de)2.945 E(v/tpm)-.15 E F1 2.945(;b)C -2.945(yo)-2.945 G(ccup)-2.945 E .445(ying one of)-.1 F -(the earlier ones with, for e)108 492 Q -(xample, shell redirection, a later one can be selected.)-.15 E F2 .625 -(See also)87 508.8 R F1(The T)108 520.8 Q +R F0(The)108 451.2 Q F2(tzpfms)2.73 E F0 .23(suite connects to a local) +2.73 F F4(tcsd)2.73 E F0 .23(\(8\) process \(at)B F4(localhost:30003) +2.729 E F0 2.729(\)b)C 2.729(yd)-2.729 G(ef)-2.729 E 2.729(ault. Use)-.1 +F(the)2.729 E(en)108 463.2 Q(vironment v)-.4 E(ariable)-.25 E F4 +(TZPFMS_TPM1X)2.5 E F0(to specify a remote TCS hostname.)2.5 E .11 +(The T)108 480 R(rouSerS)-.35 E F4(tcsd)2.61 E F0 .11 +(\(8\) daemon will try)B F4(/dev/tpm0)2.61 E F0 2.61(,t)C(hen)-2.61 E F4 +(/udev/tpm0)2.611 E F0 2.611(,t)C(hen)-2.611 E F4(/dev/tpm)2.611 E F0 +2.611(;b)C 2.611(yo)-2.611 G(ccu-)-2.611 E -.1(py)108 492 S +(ing one of the earlier ones with, for e).1 E +(xample, shell redirection, a later one can be selected.)-.15 E F1 .625 +(See also)87 508.8 R F0(The T)108 520.8 Q (rouSerS project page at https://sourcefor)-.35 E (ge.net/projects/trousers.)-.18 E 4.415 (The TPM 1.2 main speci\214cation inde)108 537.6 R 6.915(xa)-.15 G 6.915 (th)-6.915 G(ttps://trustedcomputinggroup.or)-6.915 E -(g/resource/tpm-main-)-.18 E(speci\214cation.)108 549.6 Q F2 1.666 -(SPECIAL THANKS)72 566.4 R F1 1.6 -.8(To a)108 578.4 T +(g/resource/tpm-main-)-.18 E(speci\214cation.)108 549.6 Q F1 1.666 +(SPECIAL THANKS)72 566.4 R F0 1.6 -.8(To a)108 578.4 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.15 E F2<83>128 590.4 Q F1(ThePhD)7.5 E F2<83>128 602.4 Q F1 -(Embark Studios)7.5 E F2<83>128 614.4 Q F1(Lars Strojn)7.5 E(y)-.15 E F2 -(REPOR)72 631.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F1(https://todo.sr)108 -643.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F0(\001nabijaczle) -108 660 Q(weli/tzpfms@lists.sr)-.15 E(.ht)-1.11 E F1 2.5(,a)C(rchi)-2.5 -E -.15(ve)-.25 G 2.5(da).15 G 2.5(th)-2.5 G(ttps://lists.sr)-2.5 E -(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E(tzpfms 0.3.3-7-g893a48c) -72 817.889 Q(No)85.673 E -.15(ve)-.15 G(mber 25, 2023).15 E(1)180.932 E -0 Cg EP +.15 E F1<83>128 590.4 Q F0(ThePhD)7.5 E F1<83>128 602.4 Q F0 +(Embark Studios)7.5 E F1<83>128 614.4 Q F0(Lars Strojn)7.5 E(y)-.15 E F1 +(REPOR)72 631.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 +643.2 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms)-.25 E F4 +(\001nabijaczleweli/tzpfms@lists.sr.ht)108 660 Q F0 83.762(,a)C(rchi) +-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E(https://lists.sr) +108 672 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E +(tzpfms 0.3.3-8-g286180b)72 817.889 Q(No)84.553 E -.15(ve)-.15 G +(mber 25, 2023).15 E(1)180.932 E 0 Cg EP %%Trailer end %%EOF diff --git a/zfs-tpm-list.8 b/zfs-tpm-list.8 index b5d8ba9..129d8c6 100644 --- a/zfs-tpm-list.8 +++ b/zfs-tpm-list.8 @@ -3,7 +3,7 @@ .Dd November 25, 2023 .ds doc-volume-operating-system .Dt ZFS-TPM-LIST 8 -.Os tzpfms 0.3.3-7-g893a48c +.Os tzpfms 0.3.3-8-g286180b . .Sh NAME .Nm zfs-tpm-list diff --git a/zfs-tpm-list.8.html b/zfs-tpm-list.8.html index 525e883..d4da44a 100644 --- a/zfs-tpm-list.8.html +++ b/zfs-tpm-list.8.html @@ -165,7 +165,7 @@ tarta-zoot/vm - available yes - +
November 25, 2023tzpfms 0.3.3-7-g893a48ctzpfms 0.3.3-8-g286180b
diff --git a/zfs-tpm1x-change-key.8 b/zfs-tpm1x-change-key.8 index b017bc6..f8688a9 100644 --- a/zfs-tpm1x-change-key.8 +++ b/zfs-tpm1x-change-key.8 @@ -3,7 +3,7 @@ .Dd November 25, 2023 .ds doc-volume-operating-system .Dt ZFS-TPM1X-CHANGE-KEY 8 -.Os tzpfms 0.3.3-7-g893a48c +.Os tzpfms 0.3.3-8-g286180b . .Sh NAME .Nm zfs-tpm1x-change-key diff --git a/zfs-tpm1x-change-key.8.html b/zfs-tpm1x-change-key.8.html index 057385b..c002c68 100644 --- a/zfs-tpm1x-change-key.8.html +++ b/zfs-tpm1x-change-key.8.html @@ -218,7 +218,7 @@ - +
November 25, 2023tzpfms 0.3.3-7-g893a48ctzpfms 0.3.3-8-g286180b
diff --git a/zfs-tpm1x-clear-key.8 b/zfs-tpm1x-clear-key.8 index 286599d..e7b0926 100644 --- a/zfs-tpm1x-clear-key.8 +++ b/zfs-tpm1x-clear-key.8 @@ -3,7 +3,7 @@ .Dd November 25, 2023 .ds doc-volume-operating-system .Dt ZFS-TPM1X-CLEAR-KEY 8 -.Os tzpfms 0.3.3-7-g893a48c +.Os tzpfms 0.3.3-8-g286180b . .Sh NAME .Nm zfs-tpm1x-clear-key diff --git a/zfs-tpm1x-clear-key.8.html b/zfs-tpm1x-clear-key.8.html index f58828d..95a0428 100644 --- a/zfs-tpm1x-clear-key.8.html +++ b/zfs-tpm1x-clear-key.8.html @@ -102,7 +102,7 @@ - +
November 25, 2023tzpfms 0.3.3-7-g893a48ctzpfms 0.3.3-8-g286180b
diff --git a/zfs-tpm1x-load-key.8 b/zfs-tpm1x-load-key.8 index 0eca2ed..0cb4a1f 100644 --- a/zfs-tpm1x-load-key.8 +++ b/zfs-tpm1x-load-key.8 @@ -3,7 +3,7 @@ .Dd November 25, 2023 .ds doc-volume-operating-system .Dt ZFS-TPM1X-LOAD-KEY 8 -.Os tzpfms 0.3.3-7-g893a48c +.Os tzpfms 0.3.3-8-g286180b . .Sh NAME .Nm zfs-tpm1x-load-key diff --git a/zfs-tpm1x-load-key.8.html b/zfs-tpm1x-load-key.8.html index 9a0ec8f..91f13d7 100644 --- a/zfs-tpm1x-load-key.8.html +++ b/zfs-tpm1x-load-key.8.html @@ -138,7 +138,7 @@ - +
November 25, 2023tzpfms 0.3.3-7-g893a48ctzpfms 0.3.3-8-g286180b
diff --git a/zfs-tpm2-change-key.8 b/zfs-tpm2-change-key.8 index af5ddd6..474f486 100644 --- a/zfs-tpm2-change-key.8 +++ b/zfs-tpm2-change-key.8 @@ -3,7 +3,7 @@ .Dd November 25, 2023 .ds doc-volume-operating-system .Dt ZFS-TPM2-CHANGE-KEY 8 -.Os tzpfms 0.3.3-7-g893a48c +.Os tzpfms 0.3.3-8-g286180b . .Sh NAME .Nm zfs-tpm2-change-key diff --git a/zfs-tpm2-change-key.8.html b/zfs-tpm2-change-key.8.html index 239f475..0a82481 100644 --- a/zfs-tpm2-change-key.8.html +++ b/zfs-tpm2-change-key.8.html @@ -264,7 +264,7 @@ - +
November 25, 2023tzpfms 0.3.3-7-g893a48ctzpfms 0.3.3-8-g286180b
diff --git a/zfs-tpm2-clear-key.8 b/zfs-tpm2-clear-key.8 index 8d19f63..cf1dfce 100644 --- a/zfs-tpm2-clear-key.8 +++ b/zfs-tpm2-clear-key.8 @@ -3,7 +3,7 @@ .Dd November 25, 2023 .ds doc-volume-operating-system .Dt ZFS-TPM2-CLEAR-KEY 8 -.Os tzpfms 0.3.3-7-g893a48c +.Os tzpfms 0.3.3-8-g286180b . .Sh NAME .Nm zfs-tpm2-clear-key diff --git a/zfs-tpm2-clear-key.8.html b/zfs-tpm2-clear-key.8.html index 74d857f..40740fb 100644 --- a/zfs-tpm2-clear-key.8.html +++ b/zfs-tpm2-clear-key.8.html @@ -153,7 +153,7 @@ - +
November 25, 2023tzpfms 0.3.3-7-g893a48ctzpfms 0.3.3-8-g286180b
diff --git a/zfs-tpm2-load-key.8 b/zfs-tpm2-load-key.8 index ac123ba..1827a72 100644 --- a/zfs-tpm2-load-key.8 +++ b/zfs-tpm2-load-key.8 @@ -3,7 +3,7 @@ .Dd November 25, 2023 .ds doc-volume-operating-system .Dt ZFS-TPM2-LOAD-KEY 8 -.Os tzpfms 0.3.3-7-g893a48c +.Os tzpfms 0.3.3-8-g286180b . .Sh NAME .Nm zfs-tpm2-load-key diff --git a/zfs-tpm2-load-key.8.html b/zfs-tpm2-load-key.8.html index 13e5363..ff790e2 100644 --- a/zfs-tpm2-load-key.8.html +++ b/zfs-tpm2-load-key.8.html @@ -137,7 +137,7 @@ - +
November 25, 2023tzpfms 0.3.3-7-g893a48ctzpfms 0.3.3-8-g286180b