tls_client - Man Page
configure a TLS connection
Synopsis
#include <tls.h
>
struct tls *
tls_client
(void);
struct tls *
tls_server
(void);
int
tls_configure
(struct tls *ctx, struct tls_config *config);
void
tls_free
(struct tls *ctx);
void
tls_reset
(struct tls *ctx);
Description
A TLS connection is represented as a struct tls object called a “context”. A new context is created by either the tls_client
() or tls_server
() functions. tls_client
() is used in TLS client programs, tls_server
() in TLS server programs.
The context can then be configured with the function tls_configure
(). The same tls_config object can be used to configure multiple contexts.
After configuration, tls_connect(3) can be called on objects created with tls_client
(), and tls_accept_socket(3) on objects created with tls_server
().
After use, a TLS context should be closed with tls_close(3), and then freed by calling tls_free
(). If tls_free
() is called with an argument of NULL
, no action occurs.
A TLS context can be reset by calling tls_reset
(), allowing for it to be reused. This is essentially equivalent to calling tls_free
(), followed by a call to the same function that was used to originally allocate the TLS context.
Return Values
tls_client
() and tls_server
() return NULL
on error or an out of memory condition.
tls_configure
() returns 0 on success or -1 on error.
See Also
tls_accept_socket(3), tls_config_new(3), tls_connect(3), tls_init(3)
History
These functions appeared in OpenBSD 5.6 and got their final names in OpenBSD 5.7.
Authors
Joel Sing <jsing@openbsd.org>
Referenced By
tls_accept_socket(3), tls_config_set_session_id(3), tls_config_verify(3), tls_connect(3), tls_conn_version(3), tls_init(3), tls_load_file(3), tls_ocsp_process_response(3), tls_read(3).
The man pages tls_configure(3), tls_free(3) and tls_server(3) are aliases of tls_client(3).