---
name: "libnvmf_generate_tls_key_identity-libnvme3"
section: "2"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libnvmf_generate_tls_key_identity-libnvme3"
---

# libnvmf\_generate\_tls\_key\_identity-libnvme3(2)

Generate the TLS PSK identity

## NAME

libnvmf\_generate\_tls\_key\_identity - Generate the TLS PSK identity

## SYNOPSIS

**int libnvmf\_generate\_tls\_key\_identity** **(struct libnvme\_global\_ctx \*ctx** *,* **const char \*hostnqn** *,* **const char \*subsysnqn** *,* **int version** *,* **enum libnvmf\_hmac\_alg hmac** *,* **unsigned char \*configured\_key** *,* **int key\_len** *,* **char \*\*identity** *);*

## ARGUMENTS

- ctx

  struct libnvme\_global\_ctx object

- 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*

- identity

  TLS PSK identity to return

## DESCRIPTION

Derives a retained PSK as specified in the NVMe TCP Transport Specification 1.3, section 3.6.1.3, and generates the corresponding TLS PSK identity.

It is the responsibility of the caller to free the returned string.

## RETURN

0 on success, negative error code otherwise.
