Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
COAP_TLS_LIBRARY(3)		libcoap	Manual		   COAP_TLS_LIBRARY(3)

NAME
       coap_tls_library, coap_dtls_is_supported, coap_tls_is_supported,
       coap_get_tls_library_version, coap_string_tls_version,
       coap_show_tls_version - Work with CoAP contexts

SYNOPSIS
       #include	<coap2/coap.h>

       int coap_dtls_is_supported(void);

       int coap_tls_is_supported(void);

       coap_tls_version_t *coap_get_tls_library_version(void);

       *char *coap_string_tls_version(char *buffer, size_t bufsize);

       void coap_show_tls_version(coap_log_t level);

       Link with -lcoap-2, -lcoap-2-gnutls, -lcoap-2-openssl or
       -lcoap-2-tinydtls depending on your (D)TLS library type.

DESCRIPTION
       When the	libcoap	library	was built, it will have	been compiled using a
       specific	TLS implementation type	(e.g. OpenSSL, GnuTLS, TinyDTLS	or
       noTLS). When the	libcoap	library	is linked into an application, it is
       possible	that the application needs to dynamically determine whether
       DTLS or TLS is supported, what type of TLS implementation libcoap was
       compiled	with, as well as detect	what is	the version of the currently
       loaded TLS library is.

       NOTE: If	OpenSSL	is being used, then the	minimum	OpenSSL	library
       version is 1.1.0.

       NOTE: If	GnuTLS is being	used, then the minimum GnuTLS library version
       is 3.3.0.

       NOTE: If	GnuTLS is going	to interoperate	with TinyDTLS, then a minimum
       revision	of GnuTLS 3.5.5	which supports CCM algorithms is required by
       TinyDTLS	as TinyDTLS currently only supports CCM.

       Network traffic can be encrypted	or un-encrypted	with libcoap - how to
       set this	up is described	in coap_context(3).

       Due to the nature of TLS, there can be Callbacks	that are invoked as
       the TLS session negotiates encryption algorithms, encryption keys etc.
       Where possible, by default, the CoAP layer handles all this
       automatically. However, there is	the flexibility	of the Callbacks for
       imposing	additional security checks etc.	when PKI is being used.	These
       callbacks need to need to match the TLS implementation type.

       The coap_dtls_is_supported() function returns 1 if support for DTLS is
       enabled,	otherwise 0;

       The coap_tls_is_supported() function returns 1 if support for TLS is
       enabled,	otherwise 0;

       The coap_get_tls_library_version() function returns the TLS
       implementation type and library version in a coap_tls_version_t*
       structure.

       The coap_string_tls_version() function is used to update	the provided
       buffer with information about the current (D)TLS	library	that libcoap
       was built against, as well as the current linked	version	of the (D)TLS
       library.	buffer defines the buffer to provide the information and
       bufsize is the size of buffer.

       The coap_show_tls_version() function is used log	information about the
       current (D)TLS library that libcoap was built against, as well as the
       current linked version of the (D)TLS library. level defines the minimum
       logging level for this information to be	output using coap_log().

	   typedef enum	coap_tls_library_t {
	     COAP_TLS_LIBRARY_NOTLS = 0, /**< No DTLS library */
	     COAP_TLS_LIBRARY_TINYDTLS,	 /**< Using TinyDTLS library */
	     COAP_TLS_LIBRARY_OPENSSL,	 /**< Using OpenSSL library */
	     COAP_TLS_LIBRARY_GNUTLS,	 /**< Using GnuTLS library */
	   } coap_tls_library_t;

	   typedef struct coap_tls_version_t {
	     uint64_t version; /* (D)TLS runtime Library Version */
	     coap_tls_library_t	type; /**< Library type. One of	COAP_TLS_LIBRARY_* */
	     uint64_t built_version; /*	(D)TLS Built against Library Version */
	   }

RETURN VALUES
       coap_dtls_is_supported()	and coap_tls_is_supported() functions return 0
       if there	is no support, 1 if support is available.

       coap_get_tls_library_version() function returns the TLS implementation
       type and	library	version	in a coap_tls_version_t* structure.

       coap_string_tls_version() function returns a pointer to the provided
       buffer.

SEE ALSO
       coap_context(3) and coap_logging(3).

FURTHER	INFORMATION
       See "RFC7252: The Constrained Application Protocol (CoAP)" for further
       information.

BUGS
       Please report bugs on the mailing list for libcoap:
       libcoap-developers@lists.sourceforge.net

AUTHORS
       The libcoap project <libcoap-developers@lists.sourceforge.net>

coap_tls_library 4.2.1		  03/01/2021		   COAP_TLS_LIBRARY(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | FURTHER INFORMATION | BUGS | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=coap_tls_library&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help