The objective of this lab is to help students understand how the TLS works and how to use TLS in programming. The lab guides students to implement a pair of TLS client and server programs, based on which students will conduct a series of experiments, so they can understand the security principles underlying the TLS protocol. Students will also implement a simple HTTPS proxy program to understand the security impact if some trusted CAs are compromised
This lab is based on the PKI lab, so students should do the PKI lab first, before working on this lab.