BSDCan2018 - 1.54

BSDCan 2018
The Technical BSD Conference

Bob Beck
Day Tutorials #2 - 7 June - 2018-06-07
Room DMS 1110
Start time 13:00
Duration 03:00
ID 967
Event type Workshop
Track Tutorial
Language used for presentation English

Writing TLS secured client and server programs using the libtls API from libressl

Happy Bob's libtls tutorial

In this half day tutorial, we will learn how to use the libtls API to build client and server applications with communications secured with TLS.

This hands on tutorial will start from a relatively standard "basic" client and server posix C program such as you might have seen in an undergraduate operating systems course, and will assume a basic familiarity with using C and sockets with the normal BSD/Posix API's

From that point we will together adapt a standard sockets program to secure the communication with TLS using the libtls API, and then branch out into adapting a more event driven program using poll and sockets. We will cover dealing with all the issues of certificate loading, cipher selection and compatibility, validation and verification of server side and client side certificates, blocking io vs nonblocking io, ocsp and stapling, and other topics.

Prerequisite will be laptop running some flavour of BSD with the latest libressl/libtls installed and usable, You'll need the ability to edit compile link and run c programs with libtls.