nanomsg next generation NNG  
Home GitHub Documentation

This documentation is for version v1.1.0 of nng, but the latest released version is v1.7.3. see the documentation for v1.7.3 for the most up-to-date information.
nng_tls_config_auth_mode(3tls)

SYNOPSIS

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

typedef enum nng_tls_auth_mode {
        NNG_TLS_AUTH_MODE_NONE,
        NNG_TLS_AUTH_MODE_OPTIONAL,
        NNG_TLS_AUTH_MODE_REQUIRED
} nng_tls_auth_mode;

int nng_tls_config_auth_mode(nng_tls_config *cfg, nng_tls_auth_mode mode);

DESCRIPTION

The nng_tls_config_auth_mode() function configures the authentication mode to be used for TLS sessions using this configuration object.

The possible modes are:

NNG_TLS_AUTH_MODE_NONE

No authentication of the TLS peer is performed. This is the default for TLS servers, which most typically do not authenticate their clients.

NNG_TLS_AUTH_MODE_OPTIONAL

If a certificate is presented by the peer, then it is validated. However, if the peer does not present a valid certificate, then the session is allowed to proceed without authentication.

NNG_TLS_AUTH_MODE_REQUIRED

A check is made to ensure that the peer has presented a valid certificate used for the session. If the peer’s certificate is invalid or missing, then the session is refused. This is the default for clients.

RETURN VALUES

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

ERRORS

NNG_ENOMEM

Insufficient memory is available.

NNG_EINVAL

An invalid mode was specified.

NNG_EBUSY

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

NNG Reference Manual vv1.1.0 © 2019 Staysail Systems, Inc, © 2018 Capitar IT Group BV
This document is supplied under the MIT License.
nanomsg™ and nng™ are trademarks of Garrett D'Amore.