---
name: "libnvmf_import_tls_key_versioned-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_import_tls_key_versioned-libnvme3"
---

# libnvmf\_import\_tls\_key\_versioned-libnvme3(2)

Decode a PSK from the PSK interchange format

## NAME

libnvmf\_import\_tls\_key\_versioned - Decode a PSK from the PSK interchange format

## SYNOPSIS

**int libnvmf\_import\_tls\_key\_versioned** **(struct libnvme\_global\_ctx \*ctx** *,* **const char \*encoded\_key** *,* **unsigned char \*version** *,* **enum libnvmf\_hmac\_alg \*hmac** *,* **size\_t \*key\_len** *,* **unsigned char \*\*key** *);*

## ARGUMENTS

- ctx

  struct libnvme\_global\_ctx object

- encoded\_key

  PSK in PSK interchange format

- version

  Version of the PSK interchange format read from *encoded\_key* to return. Always 1; any other value is rejected with -EINVAL.

- hmac

  Hash function recorded in *encoded\_key* to return; it derives a retained PSK from a configured PSK

- key\_len

  Length of the decoded PSK to return

- key

  Decoded PSK to return

## DESCRIPTION

Decodes *encoded\_key* from the PSK Interchange format as defined in section 3.6.1.5 of the NVMe TCP Transport Specification 1.3.

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

## RETURN

0 on success, negative error code otherwise.
