.\" SPDX-License-Identifier: MIT . .Dd March 11, 2024 .ds doc-volume-operating-system .Dt ZFS-TPM1X-LOAD-KEY 8 .Os tzpfms 0.4.1-1-gfd16dbb . .Sh NAME .Nm zfs-tpm1x-load-key .Nd load TPM1.X-encrypted ZFS dataset key .Sh SYNOPSIS .Nm .Op Fl n .Ar dataset . .Sh DESCRIPTION After verifying .Ar dataset was encrypted with the .Nm tzpfms .Sy TPM1.X backend, unseals the key and load it into .Ar dataset . .Pp The user is first prompted for the SRK passphrase, set when taking ownership, if not "well-known" (all zeroes); then for the additional passphrase, set when creating the key, if one was set. .Pp See .Xr zfs-tpm1x-change-key 8 for a detailed description. . .Sh OPTIONS .Bl -tag -compact -width ".Fl n" .It Fl n Do a no-op/dry run, can be used even if the key is already loaded. Equivalent to .Nm zfs Cm load-key Ns 's .Fl n option. .El . .\" SPDX-License-Identifier: MIT . .Sh ENVIRONMENT VARIABLES .Bl -tag -compact -width 4n .It Ev TZPFMS_PASSPHRASE_HELPER By default, passphrases are prompted for and read in on the standard output and input streams. If .Ev TZPFMS_PASSPHRASE_HELPER is set and nonempty, it will be run via .Pa /bin/ Ns Nm sh Fl c to provide each passphrase, instead. .Pp The standard output stream of the helper is tied to an anonymous file and used in its entirety as the passphrase, except for a trailing new-line, if any. The arguments are: .Bl -tag -compact -offset 2n -width ".Li $1" .It Li $1 Pre-formatted noun phrase with all the information below, for use as a prompt .\" Passphrase for tarta-zoot .\" New passphrase for tarta-zoot (again) .It Li $2 Either the dataset name or the element of the TPM hierarchy being prompted for .It Li $3 .Qq new if this is for a new passphrase, otherwise blank .It Li $4 .Qq again if it's the second prompt for that passphrase, otherwise blank .El .Pp If the helper doesn't exist .Pq the shell exits with Sy 127 , a diagnostic is issued and the normal prompt is used as fall-back. If it fails for any other reason, the prompting is aborted. . . .El . .\" SPDX-License-Identifier: MIT . .Sh TPM1.X back-end configuration .Ss TPM selection The .Nm tzpfms suite connects to a local .Xr tcsd 8 process .Pq at Pa localhost:30003 by default. Use the environment variable .Ev TZPFMS_TPM1X to specify a remote TCS hostname. .Pp The TrouSerS .Xr tcsd 8 daemon will try .Pa /dev/tpm0 , then .Pa /udev/tpm0 , then .Pa /dev/tpm ; by occupying one of the earlier ones with, for example, shell redirection, a later one can be selected. . .Ss See also The TrouSerS project page at .Lk https:/\&/sourceforge.net/projects/trousers . .Pp The TPM 1.2 main specification index at .Lk https:/\&/trustedcomputinggroup.org/resource/tpm-main-specification . . .\" SPDX-License-Identifier: MIT . .Sh SPECIAL THANKS To all who support further development, in particular: .Bl -bullet -offset 4n -compact -width "@" .It ThePhD .It Embark Studios .It Jasper Bekkers .It EvModder .El . .Sh REPORTING BUGS .Lk https:/\&/todo.sr.ht/\(tinabijaczleweli/tzpfms .Pp .Mt \(tinabijaczleweli/tzpfms@lists.sr.ht , archived at .Lk https:/\&/lists.sr.ht/\(tinabijaczleweli/tzpfms .