From 5a6bb7c0cf71f4c74fbfcfa148f8d219333ff567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1=20autouploader?= Date: Wed, 28 Feb 2024 18:31:49 +0000 Subject: [PATCH] Manpage update by job 1159050 --- tzpfms.pdf | Bin 65654 -> 65847 bytes tzpfms.ps | 502 ++++++++++++++++++------------------ zfs-tpm-list.8 | 2 +- zfs-tpm-list.8.html | 2 +- zfs-tpm1x-change-key.8 | 6 +- zfs-tpm1x-change-key.8.html | 6 +- 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 | 6 +- zfs-tpm2-change-key.8.html | 6 +- 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, 273 insertions(+), 273 deletions(-) diff --git a/tzpfms.pdf b/tzpfms.pdf index 674751d294d5fadc6e04394cea47ab295b4d9e3e..fdf8743540d6f9718627969e0949b4bce2c86368 100644 GIT binary patch delta 35601 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%0DKkB`F^&|~hD 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 delta 35373 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�OmEW=0XZA^OcUM6k1UZ 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.5 G(rint dataset tzpfms metadata) +-2.5 E F1(SYNOPSIS)72 112.8 Q F2(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 @@ -343,8 +343,8 @@ 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 F0(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q -(December 4, 2022)89.693 E(1)183.842 E 0 Cg EP +108 775.2 R 6(available yes)54 F F0(tzpfms 0.3.4-6-g)72 817.889 Q 86.133 +(a0246cb December)-.05 F(4, 2022)2.5 E(1)183.842 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP @@ -360,24 +360,23 @@ BP E/F2 10/Courier@0 SF(\001nabijaczleweli/tzpfms@lists.sr.ht)108 189.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 201.6 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.) --.25 E(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q(December 4, 2022)89.693 E(2) -183.842 E 0 Cg EP +-.25 E(tzpfms 0.3.4-6-g)72 817.889 Q 86.133(a0246cb December)-.05 F +(4, 2022)2.5 E(2)183.842 E 0 Cg EP %%Page: 1 3 %%BeginPageSetup BP %%EndPageSetup /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 +-2.5 F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E/F2 10/Courier-Bold@0 +SF(zfs-tpm1x-change-key)108 96 Q F0 2.5<8a63>2.5 G(hange ZFS dataset k) +-2.5 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(zfs-tpm-list)108 124.8 Q F0([)2.5 E F2 +1.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 @@ -389,7 +388,7 @@ F2(tzpfms)3.176 E F0 .676(and the)3.176 F F1(TPM1.X)3.176 E F0 .676 (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 +(will be written to the standard error stream.)108 223.2 Q(Ne)108 240 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 @@ -470,8 +469,8 @@ F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F5 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 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.4-2-gbf78dcb)72 -817.889 Q(December 4, 2022)89.693 E(1)183.842 E 0 Cg EP +-.65(w, f)-.25 H(or use as a prompt).65 E(tzpfms 0.3.4-6-g)72 817.889 Q +86.128(a0246cb February)-.05 F(28, 2024)2.5 E(1)183.837 E 0 Cg EP %%Page: 2 4 %%BeginPageSetup BP @@ -522,78 +521,78 @@ F0 83.763(,a)C(rchi)-83.763 E -.15(ve)-.25 G 83.762(da).15 G(t)-83.762 E (and https://trustedcomputinggroup.or)108 451.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 463.2 Q -(able)-.8 E(1.)108 475.2 Q(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q -(December 4, 2022)89.693 E(2)183.842 E 0 Cg EP +(able)-.8 E(1.)108 475.2 Q(tzpfms 0.3.4-6-g)72 817.889 Q 86.128 +(a0246cb February)-.05 F(28, 2024)2.5 E(2)183.837 E 0 Cg EP %%Page: 1 5 %%BeginPageSetup BP %%EndPageSetup /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 +F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E/F2 10/Courier-Bold@0 SF +(zfs-tpm1x-clear-key)108 96 Q F0 3.008<8a72>3.007 G -.25(ew)-3.008 G +.508(rap ZFS dataset k).25 F .808 -.15(ey i)-.1 H 3.008(np).15 G(asssw) +-3.008 E .508(ord and clear tzpfms TPM1.X meta-)-.1 F(data)108 108 Q F1 +(SYNOPSIS)72 124.8 Q F2(zfs-tpm-list)108 136.8 Q/F3 10/Courier-Oblique@0 +SF(dataset)2.5 E F1(DESCRIPTION)72 153.6 Q F0(After v)108 165.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 +2.5 E F0(:)A 5(1. performs)118 177.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 189.6 Q F3(dataset)6 E F0(,)A 5(2. 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 -201.6 Q F0(.)A(See)108 218.4 Q F4(zfs-tpm1x-change-key)2.5 E F0 +213.6 Q F0(.)A(See)108 230.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 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 +(TPM1.X back-end con\214guration)72 247.2 R .625(TPM selection)87 259.2 +R F0(The)108 271.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 283.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 300 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 312 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 +(See also)87 328.8 R F0(The T)108 340.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 +(The TPM 1.2 main speci\214cation inde)108 357.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 F1 1.666 -(SPECIAL THANKS)72 374.4 R F0 1.6 -.8(To a)108 386.4 T +(g/resource/tpm-main-)-.18 E(speci\214cation.)108 369.6 Q F1 1.666 +(SPECIAL THANKS)72 386.4 R F0 1.6 -.8(To a)108 398.4 T (ll who support further de).8 E -.15(ve)-.25 G(lopment, in particular:) -.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(Jasper Bekk)7.5 E(ers)-.1 E -F1<83>128 434.4 Q F0(EvModder)7.5 E F1(REPOR)72 451.2 Q 1.666(TING B)-.4 -F(UGS)-.1 E F0(https://todo.sr)108 463.2 Q(.ht/\001nabijaczle)-.55 E -(weli/tzpfms)-.25 E F4(\001nabijaczleweli/tzpfms@lists.sr.ht)108 480 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 492 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 -E(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q(December 4, 2022)89.693 E(1) -183.842 E 0 Cg EP +.15 E F1<83>128 410.4 Q F0(ThePhD)7.5 E F1<83>128 422.4 Q F0 +(Embark Studios)7.5 E F1<83>128 434.4 Q F0(Jasper Bekk)7.5 E(ers)-.1 E +F1<83>128 446.4 Q F0(EvModder)7.5 E F1(REPOR)72 463.2 Q 1.666(TING B)-.4 +F(UGS)-.1 E F0(https://todo.sr)108 475.2 Q(.ht/\001nabijaczle)-.55 E +(weli/tzpfms)-.25 E F4(\001nabijaczleweli/tzpfms@lists.sr.ht)108 492 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 504 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 +E(tzpfms 0.3.4-6-g)72 817.889 Q 86.133(a0246cb December)-.05 F(4, 2022) +2.5 E(1)183.842 E 0 Cg EP %%Page: 1 6 %%BeginPageSetup BP %%EndPageSetup /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 +(AD-KEY\(8\))-.35 E/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E/F2 10 +/Courier-Bold@0 SF(zfs-tpm1x-load-key)108 96 Q F0 2.5<8a6c>2.5 G +(oad TPM1.X-encrypted ZFS dataset k)-2.5 E -.15(ey)-.1 G F1(SYNOPSIS)72 +112.8 Q F2(zfs-tpm-list)108 124.8 Q F0([)2.5 E F21.666 E F0(])A/F3 +10/Courier-Oblique@0 SF(dataset)2.5 E F1(DESCRIPTION)72 141.6 Q F0 .191 +(After v)108 153.6 R(erifying)-.15 E F3(dataset)2.691 E F0 -.1(wa)2.691 +G 2.691(se).1 G .191(ncrypted with)-2.691 F F2(tzpfms)2.69 E F0(back) +2.69 E(end)-.1 E F1(TPM1.X)2.69 E F0 .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 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 .235(wn" \(all)-.25 F +108 182.4 R .236(wnership, if not "well-kno)-.25 F .236(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/F4 10/Courier@0 SF(zfs-tpm1x-change-key) @@ -601,14 +600,14 @@ F2(tzpfms)2.69 E F0(back)2.69 E(end)-.1 E F1(TPM1.X)2.69 E F0 .191 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 +8.207 E -.25(va)-.25 G 3.207(lent to).25 F F2(zfs)5.707 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 +280.8 Q F0 .045(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.046 +E F4(TZPFMS_PASSPHRASE_HELPER)133 304.8 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 +F4(/bin/)4.095 E F2 3.261(sh \255c)B F0(to)4.095 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) @@ -621,23 +620,23 @@ F4(/bin/)4.096 E F2 3.262(sh \255c)B F0(to)4.096 E(pro)133 316.8 Q 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 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 .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 +(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 F1(127)2.677 E F0 +.177(\), 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 F1 1.666 (TPM1.X back-end con\214guration)72 439.2 R .625(TPM selection)87 451.2 -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 +R F0(The)108 463.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 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 .111(The T)108 492 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 +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 @@ -652,46 +651,47 @@ F(the)2.729 E(en)108 475.2 Q(vironment v)-.4 E(ariable)-.25 E F4 F1<83>128 638.4 Q F0(EvModder)7.5 E F1(REPOR)72 655.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 667.2 Q(.ht/\001nabijaczle)-.55 E (weli/tzpfms)-.25 E F4(\001nabijaczleweli/tzpfms@lists.sr.ht)108 684 Q -F0 83.762(,a)C(rchi)-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E +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 696 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 -E(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q(December 4, 2022)89.693 E(1) -183.842 E 0 Cg EP +E(tzpfms 0.3.4-6-g)72 817.889 Q 86.133(a0246cb December)-.05 F(4, 2022) +2.5 E(1)183.842 E 0 Cg EP %%Page: 1 7 %%BeginPageSetup BP %%EndPageSetup /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 -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 .294(xt, a ne)-.15 F 2.794(ww)-.25 G .294(rapping k)-2.794 F .594 +F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E/F2 10/Courier-Bold@0 SF +(zfs-tpm2-change-key)108 96 Q F0 2.5<8a63>2.5 G(hange ZFS dataset k)-2.5 +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(zfs-tpm-list)108 124.8 Q F0([)2.5 E F2 +1.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.676 -.8(To n)108 165.6 +T(ormalise).8 E F3(dataset)2.576 E F0(,)A F2(zfs-tpm-list)2.576 E F0 +.076(will open its encryption root in its stead.)2.576 F F2 +(zfs-tpm-list)5.077 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.055 E F0 -.1(wa)3.055 G 3.055(sp).1 G(re)-3.055 E .555 +(viously encrypted with)-.25 F F2(tzpfms)3.055 E F0 .555(and the)3.055 F +F1(TPM2)3.055 E F0 .554(back-end w)3.054 F .554(as used, the pre)-.1 F +(vious)-.25 E -.1(ke)108 223.2 S 3.059(yw)-.05 G .559 +(ill be freed from the TPM.)-3.059 F .56 +(Otherwise, or in case of an error)5.56 F 3.06(,d)-.4 G .56 +(ata required for manual interv)-3.06 F(en-)-.15 E +(tion will be written to the standard error stream.)108 235.2 Q(Ne)108 +252 Q .295(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 +(OPTIONS)2.794 E F0 .294(\), and sealed)B .588 (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 +(wner hierarch)-.25 F .589(y; if there is a passphrase set on the o)-.05 +F(wner)-.25 E(hierarch)108 276 Q 1.603 -.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 @@ -701,74 +701,74 @@ F(wner)-.25 E(hierarch)108 276 Q 1.602 -.65(y, t)-.05 H .302 (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 +1.666(]...)-1.666 G(])-1.666 E F5(tzpfms.backend)108 357.6 Q F0 1.263 +(identi\214es this dataset for w)3.763 F 1.264(ork with)-.1 F F1(TPM2) +3.764 E F0(-back-ended)A F2(tzpfms)3.764 E F0 1.264(tools \(namely)3.764 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 +(tzpfms.key)108 386.4 Q F0 1.509(is an inte)4.009 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 +(wed by a semicolon and)-.25 F .822(PCR list as speci\214ed with)108 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 +(tpm-tools)3.322 E F0 .823(-toolchain-compatible; if needed, it can)B +.866(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 +3.366 E F25.032 E F0(")6.866 E F5(str:${passphrase})A F0 3.365("o) +C(r)-3.365 E F2109.666 422.4 Q F0(")6.727 E F5(pcr:${tzpfms.key)A +F2(#)A F6(*)A F5(;})A F0 .727(", as the case may be, or equi)B -.25(va) +-.25 G .728(lent, for back-up \(see).25 F F1(OPTIONS)3.228 E F0(\).)A +.448(If you ha)108 434.4 R .748 -.15(ve a s)-.2 H .448(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 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\ +-.25 G .447(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.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 F17.172 E F5(keylocation=prompt)15.506 +E F217.172 E F5(keyformat=raw)108 475.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 .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 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) + interv)108 487.2 R .29(ention into the stan-)-.15 F(dard error stream.) +108 499.2 Q 2.625<418c>108 516 S .125(nal v)-2.625 F .125 +(eri\214cation should be made by running)-.15 F F2 1.79 +(zfs-tpm2-load-key \255n)2.624 F F3(dataset)6.124 E F0 5.124(.I)C 2.624 +(ft)-5.124 G .124(hat com-)-2.624 F .506(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) +11.539 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 +F13.204 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 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 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 +609.6 Q F3(backup-file)6 E F0(Sa)203 609.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 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 +E F0 2.552(,w)C .052(hich must not e)-2.552 F .052(xist beforehand.)-.15 +F .693(This back-up)203 621.6 R F4(must)3.193 E F0 .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 (nt,).15 E(the k)203 633.6 Q .3 -.15(ey c)-.1 H(an be loaded by running) .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 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 +-1.666 G 1.425(Bind the k)203 674.4 R 1.725 -.15(ey t)-.1 H 3.925(os).15 +G 1.425(pace- or comma-separated)-3.925 F F3(PCR)3.924 E F0 3.924(sw)C +1.424(ithin their corresponding)-3.924 F(hashing)203 686.4 Q F3 +(algorithm)2.523 E F0 2.523<8a69>2.523 G 2.523(ft)-2.523 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 +.024(ill not be able to be).15 F 2.5(unsealed. There)203 698.4 R(are)2.5 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 +A F3(algorithm)203 715.2 Q F0 2.968(may be an)5.469 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(") +.15 E F0 2.968(", ")B F1(sha256)A F0 2.968(", ")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.4-2-gbf78dcb)72 -817.889 Q(December 4, 2022)89.693 E(1)183.842 E 0 Cg EP +(", and must be supported by the TPM.)A(tzpfms 0.3.4-6-g)72 817.889 Q +86.128(a0246cb February)-.05 F(28, 2024)2.5 E(1)183.837 E 0 Cg EP %%Page: 2 8 %%BeginPageSetup BP @@ -776,20 +776,20 @@ BP /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 +F14.589 E F0 2.923(,a)C .422(lso prompt for a passphrase.)-2.923 F +.422(This is skipped by def)5.422 F .422(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 +1.39(passphraseless with the right PCRs)3.89 F F2(or)3.89 E F0 1.389 (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 +-1.35 E/F4 10/Courier@0 SF(TZPFMS_PASSPHRASE_HELPER)108 148.8 Q F0 .045 (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 F4 -(TZPFMS_PASSPHRASE_HELPER)133 172.8 Q F0 1.595(is set and nonempty)4.095 + on the standard output and input streams.)-.1 F(If)5.046 E F4 +(TZPFMS_PASSPHRASE_HELPER)133 172.8 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 F4 -(/bin/)4.096 E F1 3.262(sh \255c)B F0(to)4.096 E(pro)133 184.8 Q +(/bin/)4.095 E F1 3.261(sh \255c)B F0(to)4.095 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) @@ -802,10 +802,10 @@ F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F4 249.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 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 F0 -.178(\), 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 .178 +(If the helper doesn')133 278.4 R 2.678(te)-.18 G .178 +(xist \(the shell e)-2.828 F .177(xits with)-.15 F F3(127)2.677 E F0 +.177(\), 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 @@ -814,13 +814,13 @@ 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 +.621(The library)108 360 R F1(libtss2-tcti-default.so)3.121 E F0 .621 +(can be link)3.121 F .621(ed to an)-.1 F 3.122(yo)-.15 G 3.122(ft)-3.122 +G(he)-3.122 E F4(libtss2-tcti-)3.122 E/F5 10/Symbol SF(*)A F4(.so)A F0 +(li-)3.122 E .781(braries to select the def)108 372 R .781 +(ault, otherwise)-.1 F F4(/dev/tpmrm0)3.28 E F0 3.28(,t)C(hen)-3.28 E F4 +(/dev/tpm0)3.28 E F0 3.28(,t)C(hen)-3.28 E F4(localhost:2321)3.28 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 @@ -837,7 +837,7 @@ E F0(will be tried, in order \(see)108 384 Q F4(ESYS_CONTEXT)2.5 E F0 F3<83>128 542.4 Q F0(EvModder)7.5 E F3(REPOR)72 559.2 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 571.2 Q(.ht/\001nabijaczle)-.55 E (weli/tzpfms)-.25 E F4(\001nabijaczleweli/tzpfms@lists.sr.ht)108 588 Q -F0 83.762(,a)C(rchi)-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E +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 600 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 E F3 1.666(SEE ALSO)72 616.8 R F4(tpm2_unseal)108 628.8 Q F0(\(1\))A (PCR allocations: https://wiki.archlinux.or)108 645.6 Q(g/title/T)-.18 E @@ -845,25 +845,25 @@ E F3 1.666(SEE ALSO)72 616.8 R F4(tpm2_unseal)108 628.8 Q F0(\(1\))A (and https://trustedcomputinggroup.or)108 657.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 669.6 Q -(able)-.8 E(1.)108 681.6 Q(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q -(December 4, 2022)89.693 E(2)183.842 E 0 Cg EP +(able)-.8 E(1.)108 681.6 Q(tzpfms 0.3.4-6-g)72 817.889 Q 86.128 +(a0246cb February)-.05 F(28, 2024)2.5 E(2)183.837 E 0 Cg EP %%Page: 1 9 %%BeginPageSetup BP %%EndPageSetup /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 +F/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E/F2 10/Courier-Bold@0 SF +(zfs-tpm2-clear-key)108 96 Q F0 2.5<8a72>2.5 G -.25(ew)-2.5 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 +(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.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. 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 F3(dataset)2.5 E F0(,)A 5(3. remo)118 @@ -872,12 +872,12 @@ Q(-k)-.2 E .3 -.15(ey \212 r)-.1 H -.25(ew).15 G(rap ZFS dataset k).25 E 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 +-.3 F(ARIABLES)-1.35 E F4(TZPFMS_PASSPHRASE_HELPER)108 259.2 Q F0 .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.045 E F4 -(TZPFMS_PASSPHRASE_HELPER)133 283.2 Q F0 1.595(is set and nonempty)4.095 + on the standard output and input streams.)-.1 F(If)5.046 E F4 +(TZPFMS_PASSPHRASE_HELPER)133 283.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 F4 -(/bin/)4.096 E F2 3.262(sh \255c)B F0(to)4.096 E(pro)133 295.2 Q +(/bin/)4.095 E F2 3.261(sh \255c)B F0(to)4.095 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) @@ -889,10 +889,10 @@ F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F4 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 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 +(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 F1(127)2.677 E F0 +.177(\), 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 F1 1.666 (TPM2 back-end con\214guration)72 417.6 R(En)87 429.6 Q(vir)-.4 E .625 @@ -901,13 +901,13 @@ 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 +.621(The library)108 470.4 R F2(libtss2-tcti-default.so)3.121 E F0 .621 +(can be link)3.121 F .621(ed to an)-.1 F 3.122(yo)-.15 G 3.122(ft)-3.122 +G(he)-3.122 E F4(libtss2-tcti-)3.122 E/F5 10/Symbol SF(*)A F4(.so)A F0 +(li-)3.122 E .781(braries to select the def)108 482.4 R .781 +(ault, otherwise)-.1 F F4(/dev/tpmrm0)3.28 E F0 3.28(,t)C(hen)-3.28 E F4 +(/dev/tpm0)3.28 E F0 3.28(,t)C(hen)-3.28 E F4(localhost:2321)3.28 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 @@ -924,41 +924,41 @@ E F0(will be tried, in order \(see)108 494.4 Q F4(ESYS_CONTEXT)2.5 E F0 F1<83>128 652.8 Q F0(EvModder)7.5 E F1(REPOR)72 669.6 Q 1.666(TING B)-.4 F(UGS)-.1 E F0(https://todo.sr)108 681.6 Q(.ht/\001nabijaczle)-.55 E (weli/tzpfms)-.25 E F4(\001nabijaczleweli/tzpfms@lists.sr.ht)108 698.4 Q -F0 83.762(,a)C(rchi)-83.762 E -.15(ve)-.25 G 83.763(da).15 G(t)-83.763 E +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 710.4 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.) --.25 E(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q(December 4, 2022)89.693 E(1) -183.842 E 0 Cg EP +-.25 E(tzpfms 0.3.4-6-g)72 817.889 Q 86.133(a0246cb December)-.05 F +(4, 2022)2.5 E(1)183.842 E 0 Cg EP %%Page: 1 10 %%BeginPageSetup BP %%EndPageSetup /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 +(AD-KEY\(8\))-.35 E/F1 10/Times-Bold@0 SF -.2(NA)72 84 S(ME).2 E/F2 10 +/Courier-Bold@0 SF(zfs-tpm2-load-key)108 96 Q F0 2.5<8a6c>2.5 G +(oad TPM2-encrypted ZFS dataset k)-2.5 E -.15(ey)-.1 G F1(SYNOPSIS)72 +112.8 Q F2(zfs-tpm-list)108 124.8 Q F0([)2.5 E F21.666 E F0(])A/F3 +10/Courier-Oblique@0 SF(dataset)2.5 E F1(DESCRIPTION)72 141.6 Q F0 .864 +(After v)108 153.6 R(erifying)-.15 E F3(dataset)3.364 E F0 -.1(wa)3.364 +G 3.364(se).1 G .864(ncrypted with)-3.364 F F2(tzpfms)3.365 E F0(back) +3.365 E(end)-.1 E F1(TPM2)3.365 E F0 3.365(,u)C .865(nseals the k)-3.365 +F 1.165 -.15(ey a)-.1 H .865(nd loads it).15 F(into)108 165.6 Q F3 +(dataset)2.5 E F0(.)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/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.207 E -.25(va)-.25 G 3.207 +(lent to).25 F F2(zfs)5.707 E(load-key)131 240 Q F0 -.55('s)C F2 +4.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 .045 (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 + on the standard output and input streams.)-.1 F(If)5.046 E F4 +(TZPFMS_PASSPHRASE_HELPER)133 292.8 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 F4 -(/bin/)4.096 E F2 3.262(sh \255c)B F0(to)4.096 E(pro)133 304.8 Q +(/bin/)4.095 E F2 3.261(sh \255c)B F0(to)4.095 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) @@ -971,23 +971,23 @@ F 4.096(,i)-.65 G 4.096(tw)-4.096 G 1.596(ill be run via)-4.096 F F4 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 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 F1(127)2.677 E F0 -.178(\), 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 .178 +(If the helper doesn')133 398.4 R 2.678(te)-.18 G .178 +(xist \(the shell e)-2.828 F .177(xits with)-.15 F F1(127)2.677 E F0 +.177(\), 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 F1 1.666 (TPM1.X back-end con\214guration)72 427.2 R .625(TPM selection)87 439.2 -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 +R F0(The)108 451.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 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 .111(The T)108 480 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 +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 @@ -1002,10 +1002,10 @@ F(the)2.729 E(en)108 463.2 Q(vironment v)-.4 E(ariable)-.25 E F4 F1<83>128 626.4 Q F0(EvModder)7.5 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 +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 684 Q(.ht/\001nabijaczle)-.55 E(weli/tzpfms.)-.25 -E(tzpfms 0.3.4-2-gbf78dcb)72 817.889 Q(December 4, 2022)89.693 E(1) -183.842 E 0 Cg EP +E(tzpfms 0.3.4-6-g)72 817.889 Q 86.133(a0246cb December)-.05 F(4, 2022) +2.5 E(1)183.842 E 0 Cg EP %%Trailer end %%EOF diff --git a/zfs-tpm-list.8 b/zfs-tpm-list.8 index fe8d96b..18810e9 100644 --- a/zfs-tpm-list.8 +++ b/zfs-tpm-list.8 @@ -3,7 +3,7 @@ .Dd December 4, 2022 .ds doc-volume-operating-system .Dt ZFS-TPM-LIST 8 -.Os tzpfms 0.3.4-2-gbf78dcb +.Os tzpfms 0.3.4-6-ga0246cb . .Sh NAME .Nm zfs-tpm-list diff --git a/zfs-tpm-list.8.html b/zfs-tpm-list.8.html index 0c54d2d..4d5270f 100644 --- a/zfs-tpm-list.8.html +++ b/zfs-tpm-list.8.html @@ -166,7 +166,7 @@ tarta-zoot/vm - available yes - +
December 4, 2022tzpfms 0.3.4-2-gbf78dcbtzpfms 0.3.4-6-ga0246cb
diff --git a/zfs-tpm1x-change-key.8 b/zfs-tpm1x-change-key.8 index 673ee4e..633867d 100644 --- a/zfs-tpm1x-change-key.8 +++ b/zfs-tpm1x-change-key.8 @@ -1,9 +1,9 @@ .\" SPDX-License-Identifier: MIT . -.Dd December 4, 2022 +.Dd February 28, 2024 .ds doc-volume-operating-system .Dt ZFS-TPM1X-CHANGE-KEY 8 -.Os tzpfms 0.3.4-2-gbf78dcb +.Os tzpfms 0.3.4-6-ga0246cb . .Sh NAME .Nm zfs-tpm1x-change-key @@ -37,7 +37,7 @@ was previously encrypted with and the .Sy TPM1.X back-end was used, the metadata will be silently cleared. -Otherwise, or in case of an error, data required for manual intervention will be printed to the standard error stream. +Otherwise, or in case of an error, data required for manual intervention will be written to the standard error stream. .Pp Next, a new wrapping key is generated on the TPM, optionally backed up .Pq see Sx OPTIONS , diff --git a/zfs-tpm1x-change-key.8.html b/zfs-tpm1x-change-key.8.html index 4d254e3..83a8b02 100644 --- a/zfs-tpm1x-change-key.8.html +++ b/zfs-tpm1x-change-key.8.html @@ -49,7 +49,7 @@

If dataset was previously encrypted with tzpfms and the TPM1.X back-end was used, the metadata will be silently cleared. Otherwise, or in case of an - error, data required for manual intervention will be printed to the standard + error, data required for manual intervention will be written to the standard error stream.

If dataset was previously encrypted with tzpfms and the TPM2 back-end was used, the previous key will be freed from the TPM. Otherwise, or in case of - an error, data required for manual intervention will be printed to the + an error, data required for manual intervention will be written to the standard error stream.

Next, a new wrapping key is generated on the TPM, optionally backed up (see OPTIONS), and sealed to a @@ -264,8 +264,8 @@ - - + +
December 4, 2022tzpfms 0.3.4-2-gbf78dcbFebruary 28, 2024tzpfms 0.3.4-6-ga0246cb
diff --git a/zfs-tpm2-clear-key.8 b/zfs-tpm2-clear-key.8 index 49d1a4a..5e04010 100644 --- a/zfs-tpm2-clear-key.8 +++ b/zfs-tpm2-clear-key.8 @@ -3,7 +3,7 @@ .Dd December 4, 2022 .ds doc-volume-operating-system .Dt ZFS-TPM2-CLEAR-KEY 8 -.Os tzpfms 0.3.4-2-gbf78dcb +.Os tzpfms 0.3.4-6-ga0246cb . .Sh NAME .Nm zfs-tpm2-clear-key diff --git a/zfs-tpm2-clear-key.8.html b/zfs-tpm2-clear-key.8.html index f75a808..1dd5ac9 100644 --- a/zfs-tpm2-clear-key.8.html +++ b/zfs-tpm2-clear-key.8.html @@ -154,7 +154,7 @@ - +
December 4, 2022tzpfms 0.3.4-2-gbf78dcbtzpfms 0.3.4-6-ga0246cb
diff --git a/zfs-tpm2-load-key.8 b/zfs-tpm2-load-key.8 index 5df6134..cd07b00 100644 --- a/zfs-tpm2-load-key.8 +++ b/zfs-tpm2-load-key.8 @@ -3,7 +3,7 @@ .Dd December 4, 2022 .ds doc-volume-operating-system .Dt ZFS-TPM2-LOAD-KEY 8 -.Os tzpfms 0.3.4-2-gbf78dcb +.Os tzpfms 0.3.4-6-ga0246cb . .Sh NAME .Nm zfs-tpm2-load-key diff --git a/zfs-tpm2-load-key.8.html b/zfs-tpm2-load-key.8.html index 76e7e9a..fd59819 100644 --- a/zfs-tpm2-load-key.8.html +++ b/zfs-tpm2-load-key.8.html @@ -138,7 +138,7 @@ - +
December 4, 2022tzpfms 0.3.4-2-gbf78dcbtzpfms 0.3.4-6-ga0246cb

Next, a new wrapping key is generated on the TPM, optionally backed up (see OPTIONS), and sealed on the @@ -218,8 +218,8 @@ - - + +
December 4, 2022tzpfms 0.3.4-2-gbf78dcbFebruary 28, 2024tzpfms 0.3.4-6-ga0246cb
diff --git a/zfs-tpm1x-clear-key.8 b/zfs-tpm1x-clear-key.8 index c05a723..42daa56 100644 --- a/zfs-tpm1x-clear-key.8 +++ b/zfs-tpm1x-clear-key.8 @@ -3,7 +3,7 @@ .Dd December 4, 2022 .ds doc-volume-operating-system .Dt ZFS-TPM1X-CLEAR-KEY 8 -.Os tzpfms 0.3.4-2-gbf78dcb +.Os tzpfms 0.3.4-6-ga0246cb . .Sh NAME .Nm zfs-tpm1x-clear-key diff --git a/zfs-tpm1x-clear-key.8.html b/zfs-tpm1x-clear-key.8.html index 93988af..6ad5bfe 100644 --- a/zfs-tpm1x-clear-key.8.html +++ b/zfs-tpm1x-clear-key.8.html @@ -103,7 +103,7 @@ - +
December 4, 2022tzpfms 0.3.4-2-gbf78dcbtzpfms 0.3.4-6-ga0246cb
diff --git a/zfs-tpm1x-load-key.8 b/zfs-tpm1x-load-key.8 index 66f5cec..0395abf 100644 --- a/zfs-tpm1x-load-key.8 +++ b/zfs-tpm1x-load-key.8 @@ -3,7 +3,7 @@ .Dd December 4, 2022 .ds doc-volume-operating-system .Dt ZFS-TPM1X-LOAD-KEY 8 -.Os tzpfms 0.3.4-2-gbf78dcb +.Os tzpfms 0.3.4-6-ga0246cb . .Sh NAME .Nm zfs-tpm1x-load-key diff --git a/zfs-tpm1x-load-key.8.html b/zfs-tpm1x-load-key.8.html index d6d338d..f16e90a 100644 --- a/zfs-tpm1x-load-key.8.html +++ b/zfs-tpm1x-load-key.8.html @@ -139,7 +139,7 @@ - +
December 4, 2022tzpfms 0.3.4-2-gbf78dcbtzpfms 0.3.4-6-ga0246cb
diff --git a/zfs-tpm2-change-key.8 b/zfs-tpm2-change-key.8 index e3822fc..11d18f1 100644 --- a/zfs-tpm2-change-key.8 +++ b/zfs-tpm2-change-key.8 @@ -1,9 +1,9 @@ .\" SPDX-License-Identifier: MIT . -.Dd December 4, 2022 +.Dd February 28, 2024 .ds doc-volume-operating-system .Dt ZFS-TPM2-CHANGE-KEY 8 -.Os tzpfms 0.3.4-2-gbf78dcb +.Os tzpfms 0.3.4-6-ga0246cb . .Sh NAME .Nm zfs-tpm2-change-key @@ -40,7 +40,7 @@ was previously encrypted with and the .Sy TPM2 back-end was used, the previous key will be freed from the TPM. -Otherwise, or in case of an error, data required for manual intervention will be printed to the standard error stream. +Otherwise, or in case of an error, data required for manual intervention will be written to the standard error stream. .Pp Next, a new wrapping key is generated on the TPM, optionally backed up .Pq see Sx OPTIONS , diff --git a/zfs-tpm2-change-key.8.html b/zfs-tpm2-change-key.8.html index d40ba9f..657e162 100644 --- a/zfs-tpm2-change-key.8.html +++ b/zfs-tpm2-change-key.8.html @@ -49,7 +49,7 @@