table of contents
| NVME-KEYS-GEN-TLS(1) | NVMe Manual | NVME-KEYS-GEN-TLS(1) |
NAME¶
nvme-keys-gen-tls - Generate a NVMe TLS PSK
SYNOPSIS¶
nvme [<global-options>] keys gen-tls [--keyring=<name> | -k <name>]
[--keytype=<type> | -t <type>]
[--hostnqn=<nqn> | -n <nqn>]
[--subsysnqn=<nqn> | -c <nqn>]
[--hmac=<hmac-id> | -m <hmac-id>]
[--identity=<id-vers> | -I <id-vers>]
[--secret=<secret> | -s <secret>]
[--insert | -i]
[--compat | -C]
[--keyfile=<keyfile> | -f <keyfile>]
DESCRIPTION¶
Generate a base64-encoded NVMe TLS pre-shared key (PSK). The resulting key is either printed in the PSK interchange format NVMeTLSkey-1:01:<base64 encoded data>: or inserted as a retained key into the specified keyring if the --insert option is given. When the PSK should be inserted into the keyring a retained key is derived from the secret key material using the HKDF-Expand-Label algorithm from RFC 8446. The resulting retained key is stored with the identity NVMe0R0<hmac> <host NQN> <subsystem NQN> (for identity version 0) or NVMe1R0<hmac> <host NQN> <subsystem NQN> <PSK hash> (for identity version 1) in the keyring. The retained key is derived from the secret key material, the specified subsystem NQN, and the host NQN. Once the retained key is stored in the keyring the original secret key material cannot be retrieved.
OPTIONS¶
-k <name>, --keyring=<name>
-t <type>, --keytype=<type>
-n <nqn>, --hostnqn=<nqn>
-c <nqn>, --subsysnqn=<nqn>
-m <hmac-id>, --hmac=<hmac-id>
-I <vers>, --identity=<id-vers>
-s <secret>, --secret=<secret>
-i, --insert
-C, --compat
-f <keyfile>, --keyfile=<keyfile>
GLOBAL OPTIONS¶
The following options are defined at the top-level nvme command and are available to this subcommand:
--dry-run
--no-ioctl-probing
--no-retries
-o <fmt>, --output-format=<fmt>
--output-format-version=<version>
--timeout=<ms>
-v, --verbose
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.
EXAMPLES¶
No Examples
NVME¶
Part of the nvme-user suite
| 07/31/2026 | NVMe |