Provided by: libnng-dev_1.10.1-2_amd64 bug

NAME

       nng_tls_config_psk - configure pre-shared keys (PSK) for TLS

SYNOPSIS

           #include <nng/nng.h>
           #include <nng/supplemental/tls/tls.h>

           int nng_tls_config_psk(nng_tls_config *cfg, const char *identity,
               const uint8_t *key, size_t key_len);

DESCRIPTION

       The nng_tls_config_psk() function configures a pre-shared secret to use for TLS connections.

       Client mode configurations can call this just once, to set their own identity and a single key of key_len
       bytes in size.

       Server mode configurations can call this multiple times, and servers will look up the appropriate key to
       use when a client connects.

       The identity may be thought of at some level as a public value like a user name, and the key of course is
       the confidential material used to establish keys. Both parties my have the same values for identity, key,
       and key_len.

       Implementations may impose limits on whether this functionality is supported, as well as limitations on
       the length of keys or identities, but generally key lengths of up to 32 bytes as well as identities of up
       to 64 bytes will be supported wherever PSK configurations are present.

       Note that while some implementations may allow arbitrary byte patterns in the identity, this
       implementation does not support embedded zero bytes, and assumes that the values are printable (for
       logging).

RETURN VALUES

       This function returns 0 on success, and non-zero otherwise.

ERRORS

       NNG_ENOMEM
           Insufficient memory is available.

       NNG_EBUSY
           The configuration cfg is already in use, and cannot be modified.

       NNG_EINVAL
           Invalid parameters were supplied.

SEE ALSO

       nng_strerror(3), nng_tls_config_alloc(3tls), nng(7)

                                                   2025-04-20                           NNG_TLS_CONFIG_PSK(3tls)