LibCoAP(4.2.0rc3)支持的TLS库有三个,分别是OpenSSL, GnuTLS, tinyDTLS, 可以在configure时使用--with-openssl, --with-gnutls, --with-tinydtls指定。

以下是编译LibCoAP(以tinyDTLS为底层TLS库时)的步骤,基于其它两种库编译时不用进行git submodule初始化。

cd libcoap-home
git submodule init
git submodule upgrade
sh autogen.sh
./configure --with-tinydtls --disable-shared 
make && make install

关键步骤在于要先初始化 submodule,再去跑autogen.sh,要不然在make时老是出错。

不过很蛋疼的是,目前的LibCoAP版本不支持RPK, 而tinyDTLS不支持X509,所以编译出来的只能用于PSK。