1// -*- mode:doc; -*- 2// vim: set syntax=asciidoc,tw=0: 3 4coap-rd(5) 5========== 6:doctype: manpage 7:man source: coap-rd 8:man version: @PACKAGE_VERSION@ 9:man manual: coap-rd Manual 10 11NAME 12----- 13coap-rd, 14coap-rd-gnutls , 15coap-rd-mbedtls, 16coap-rd-openssl, 17coap-rd-notls - A CoAP Resource Directory based on libcoap 18 19SYNOPSIS 20-------- 21*coap-rd* [*-g* group] [*-G* group_if] [*-p* port] [*-v* num] [*-A* address] 22 [[*-h* hint] [*-k* key]] 23 [[*-c* certfile] [*-n*] [*-C* cafile] [*-R* trusted_casfile]] 24 25For *coap-rd* versions that use libcoap compiled for different 26(D)TLS libraries, *coap-rd-notls*, *coap-rd-gnutls*, 27*coap-rd-openssl*, *coap-rd-mbedtls* or *coap-rd-tinydtls* may be 28available. Otherwise, *coap-rd* uses the default libcoap (D)TLS support. 29 30DESCRIPTION 31----------- 32*coap-rd* is a simple CoAP Resource Directory server that can handle resource 33registrations using the protocol CoAP (RFC 7252). 34 35OPTIONS 36------- 37*-g* group:: 38 Join specified multicast 'group' on startup. 39 *Note:* DTLS over multicast is not currently supported. 40 41*-G* group_if:: 42 Use this interface for listening for the multicast group. This can be 43 different from the implied interface if the *-A* option is used. 44 45*-p* port:: 46 The 'port' on the given address will be listening for incoming connections. 47 If (D)TLS is supported, then 'port' + 1 will also be listened on for 48 (D)TLS connections. 49 The default port is 5683 if not given any other value. 50 51*-v* num:: 52 The verbosity level to use (default: 3, maximum is 9). Above 7, there is 53 increased verbosity in GnuTLS and OpenSSL logging. 54 55*-A* address:: 56 The local address of the interface which the server has to listen on. 57 58OPTIONS - PSK 59------------- 60(If supported by underlying (D)TLS library) 61 62*-h* hint:: 63 Identity Hint to send. Default is *CoAP*. Zero length is no hint. 64 65*-k* key:: 66 Pre-shared key to use for inbound connections. This cannot be empty if 67 defined. 68 *Note:* if *-c cafile* is defined, you need to define *-k key* as well to 69 have the server support both PSK and PKI. 70 71OPTIONS - PKI 72------------- 73(If supported by underlying (D)TLS library) 74 75*-c* certfile:: 76 Use the specified PEM file which contains the CERTIFICATE and PRIVATE 77 KEY information. 78 Note: if *-k key* is defined, you need to define *-c certfile* as well to 79 have the server support both PSK and PKI. 80 81*-n* :: 82 Disable remote peer certificate checking. This gives clients the ability to 83 use PKI, but without any defined certificates. 84 85*-C* cafile:: 86 PEM file that contains a list of one or more CAs that are to 87 be passed to the client for the client to determine what client certificate 88 to use. Normally, this list of CAs would be the root CA and and any 89 intermediate CAs. Ideally the server certificate should be signed by the 90 same CA so that mutual authentication can take place. The contents of 91 *cafile* are added to the trusted store of root CAs. Using the *-C* or *-R* 92 options will will trigger the validation of the client certificate unless 93 overridden by the *-n* option. 94 95*-R* trust_casfile:: 96 PEM file containing the set of trusted root CAs that are to be used to 97 validate the client certificate. Alternatively, this can point to a 98 directory containing a set of CA PEM files. The *-C cafile* CA does not have 99 to be in this list and is trusted for the validation. Using 100 *-R trust_casfile* disables common CA mutual authentication which can only 101 be done by using *-C cafile*. Using the *-C* or *-R* options will will 102 trigger the validation of the server certificate unless overridden by the 103 *-n* option. 104 105EXAMPLES 106-------- 107* Example 108---- 109coap-rd -A ::1 110---- 111Let the server listen on localhost (port 5683). 112 113* Example 114---- 115coap-rd -A ::1 -k mysecretKey -h myhint 116---- 117Let the server listen on localhost (port '5683' and '5684') with the server 118set up for PSK authentication. 119 120* Example 121---- 122coap-rd -A ::1 -p 13011 123---- 124Quite the same, except listening port is '13011' (and not the default port 1255683). 126 127* Example 128---- 129coap-rd -A 2001:db8:81a8:0:6ef0:dead:feed:beef -v 5 130---- 131The listening address is set to '2001:db8:81a8:0:6ef0:dead:feed:beef' and the 132verbosity level is set to '5'. 133 134* Example 135---- 136coap-rd -A 2001:db8:81a8:0:6ef0:dead:feed:beef -g FF02::FD 137---- 138Set listening address to '2001:db8:81a8:0:6ef0:dead:feed:beef' and join the 139All CoAP Nodes multicast group 'FF02::FD'. 140 141FILES 142------ 143There are no configuration files. 144 145EXIT STATUS 146----------- 147*0*:: 148 Success 149 150*1*:: 151 Failure (syntax or usage error; configuration error; document 152 processing failure; unexpected error) 153 154BUGS 155----- 156Please report bugs on the mailing list for libcoap: 157libcoap-developers@lists.sourceforge.net or raise an issue on GitHub at 158https://github.com/obgm/libcoap/issues 159 160AUTHORS 161------- 162The libcoap project <libcoap-developers@lists.sourceforge.net> 163