NAME
libnvmf_insert_tls_key_versioned - Derive and insert a TLS PSK
SYNOPSIS
int libnvmf_insert_tls_key_versioned (struct libnvme_global_ctx *ctx , const char *keyring , const char *key_type , const char *hostnqn , const char *subsysnqn , int version , enum libnvmf_hmac_alg hmac , unsigned char *configured_key , int key_len , long *key );
ARGUMENTS
- ctx
-
struct libnvme_global_ctx object
- keyring
-
Keyring to use
- key_type
-
Type of the resulting key
- hostnqn
-
Host NVMe Qualified Name
- subsysnqn
-
Subsystem NVMe Qualified Name
- version
-
TLS PSK identity version to use
- hmac
-
HMAC algorithm
- configured_key
-
Configured PSK to derive the retained PSK from
- key_len
-
Length of configured_key
- key
-
Key serial to return
DESCRIPTION
Derives a retained PSK from configured_key and, from that, the TLS PSK and its identity as specified in the NVMe TCP Transport Specification 1.3, section 3.6.1.3. Stores the TLS PSK as type key_type under that identity in the keyring specified by keyring.
version selects the identity version: 0 is obsolete and defined in the NVMe TCP Transport Specification 1.0, 1 is TLS 1.3 with the PSK digest in the identity.
RETURN
0 on success, negative error code otherwise.