Provided by: nvme-cli_2.11-1_amd64 bug

NAME

       nvme-tls-key - Manage NVMe TLS PSKs

SYNOPSIS

       nvme tls-key [--keyring=<name> | -k <name>]
                               [--keytype=<type> | -t <type>]
                               [--keyfile=<file> | -f <file>]
                               [--import | -i] [--export | -e]
                               [--revoke=<description>| -r <description>]
                               [--verbose | -v]

DESCRIPTION

       Import, export or remove NVMe TLS pre-shared keys (PSKs) from the system keystore. When
       the --export option is given, all NVMe TLS PSKs are exported in the form

       <descriptions> <psk>

       where <description> is the key description from the exported key and <psk> is the key data
       in PSK interchange format NVMeTLSkey-1:01:<base64 encoded data>:. Each key is exported in
       a single line. When the --import option is given key data is read in the same format and
       imported into the kernel keystore.

OPTIONS

       -k <name>, --keyring=<name>
           Name of the keyring into which the retained TLS key should be stored. Default is
           .nvme.

       -t <type>, --keytype=<type>
           Type of the key for resulting TLS key. Default is psk.

       -f <file>, --keyfile=<file>
           File to read the keys from or write the keys to instead of stdin / stdout.

       -i, --import
           Read the key data from the file specified by --keyfile or stdin if not present.

       -e, --export
           Write the key data to the file specified by --keyfile or stdout if not present.

       -r <description>, --revoke=<description>
           Revoke a key from a keyring.

       -v, --verbose
           Increase the information detail in the output.

EXAMPLES

       •   Create a new TLS key and insert it directly into the .nvme keyring:

               # nvme gen-tls-key -i -n hostnqn0 -c subsys0
               NVMeTLSkey-1:01:/b9tVz2OXJVISnoFgrPAygyS86XYJWkAapQeULns6PMpM8wv:
               Inserted TLS key 26b3260e

       •   Export previously created key from the kernel keyring and store it into a file

               # nvme tls-key -e -f nvme-tls-keys.txt

       •   Export/list all keys from the .nvme keyring using nvme and keyctl

               # nvme tls-key --export
               NVMe0R01 hostnqn0 subsys0 NVMeTLSkey-1:01:/b9tVz2OXJVISnoFgrPAygyS86XYJWkAapQeULns6PMpM8wv:

               # keyctl show
               Session Keyring
                573249525 --alswrv      0     0  keyring: _ses
                353599402 --alswrv      0 65534   \_ keyring: _uid.0
                475911922 ---lswrv      0     0   \_ keyring: .nvme
                649274894 --als-rv      0     0       \_ psk: NVMe0R01 hostnqn0 subsys0

       •   Revoke a key using the description and verifying with keyctl the operation

               # nvme tls-key --revoke="NVMe0R01 hostnqn0 subsys0"

               # keyctl show
               Session Keyring
                573249525 --alswrv      0     0  keyring: _ses
                353599402 --alswrv      0 65534   \_ keyring: _uid.0
                475911922 ---lswrv      0     0   \_ keyring: .nvme
               649274894: key inaccessible (Key has been revoked)

       •   Import back previously generated key from file and verify with keyctl

               # nvme tls-key --import -f nvme-tls-keys.txt

               # keyctl show
               Session Keyring
                573249525 --alswrv      0     0  keyring: _ses
                353599402 --alswrv      0 65534   \_ keyring: _uid.0
                475911922 ---lswrv      0     0   \_ keyring: .nvme
                734343968 --als-rv      0     0       \_ psk: NVMe0R01 hostnqn0 subsys0

NVME

       Part of the nvme-user suite