= nng_tls_config(5) // // Copyright 2020 Staysail Systems, Inc. // Copyright 2019 Devolutions // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_tls_config - TLS configuration object == SYNOPSIS [source, c] ---- #include typedef struct nng_tls_config nng_tls_config; ---- == DESCRIPTION An `nng_tls_config` represents a single ((TLS configuration)) object, which can be used to configure TLS servers and clients. Configuration data includes details such as certificate chains used for validation of remote peers, local key and certificate material, server names, and so forth. Additionally, a configuration can be used either in client mode, or in server mode. Configuration objects may be shared, and are reference counted. However once a configuration is used, it enters a read-only state that precludes further modifications to the configuration. Messages are allocated using the xref:nng_tls_config_alloc.3tls.adoc[`nng_tls_config_alloc()`] function, and are deallocated using the xref:nng_tls_config_free.3tls.adoc[`nng_tls_config_free()`] function. == SEE ALSO [.text-left] xref:nng_tls_config_alloc.3tls.adoc[nng_tls_config_alloc(3tls)], xref:nng_tls_config_auth_mode.3tls.adoc[nng_tls_config_auth_mode(3tls)], xref:nng_tls_config_ca_chain.3tls.adoc[nng_tls_config_ca_chain(3tls)], xref:nng_tls_config_own_cert.3tls.adoc[nng_tls_config_own_cert(3tls)], xref:nng_tls_config_free.3tls.adoc[nng_tls_config_free(3tls)], xref:nng_tls_config_hold.3tls.adoc[nng_tls_config_hold(3tls)], xref:nng_tls_config_server_name.3tls.adoc[nng_tls_config_server_name(3tls)], xref:nng.7.adoc[nng(7)]