nvme-gen-tls-key(1) ====================== NAME ---- nvme-gen-tls-key - Generate a NVMe TLS PSK SYNOPSIS -------- [verse] 'nvme gen-tls-key' [--keyring= | -k ] [--keytype= | -t ] [--hostnqn= | -n ] [--subsysnqn= | -c ] [--hmac= | -h ] [--identity= | -I ] [--secret= | -s ] [--insert | -i] [--output-format= | -o ] [--verbose | -v] 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::' 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. The resulting 'retained' key is stored with the identity 'NVMe0R0 ' (for identity version '0') or 'NVMe1R0 ' (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 :: --keyring=:: Name of the keyring into which the 'retained' TLS key should be stored. Default is '.nvme'. -t :: --keytype=:: Type of the key for resulting TLS key. Default is 'psk'. -n :: --hostnqn=:: Host NVMe Qualified Name (NQN) to be used to derive the 'retained' TLS key -c :: --subsysnqn=:: Subsystem NVMe Qualified Name (NQN) to be used to derive the 'retained' TLS key -h :: --hmac=:: Select a HMAC algorithm to use. Possible values are: 1 - SHA-256 (default) 2 - SHA-384 -I :: --identity=:: Select the TLS identity to use. Possible values are: 0 - Original NVMe TLS 1.0c identity 1 - NVMe TLS 2.0 (TP8018) identity -s :: --secret=:: Secret value (in hexadecimal) to be used for the key. If none are provided a random value is used. -i:: --insert:: Insert the resulting TLS key into the keyring without printing out the key in PSK interchange format. -o :: --output-format=:: Set the reporting format to 'normal', 'json' or 'binary'. Only one output format can be used at a time. -v:: --verbose:: Increase the information detail in the output. EXAMPLES -------- No Examples NVME ---- Part of the nvme-user suite