BSDCan2018 - 1.54
BSDCan 2018
The Technical BSD Conference
Speakers | |
---|---|
Bob Beck |
Schedule | |
---|---|
Day | Tutorials #2 - 7 June - 2018-06-07 |
Room | DMS 1110 |
Start time | 13:00 |
Duration | 03:00 |
Info | |
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.