Home Announcements Schedule Assignments Project Reading Reviews Resources

Project: libmicrohttpd with SSL

(Graduate Students Only)

Due Date: Last day of class

In this project, you will extend libmicrohttpd with SSL support. As graduate students, you are expected to have some level of coding maturity and as such, you will have the choice of how to implement SSL support in libmicrohttpd. You can get the source code of libmicrohttpd from the here.

Remember that you can work in groups of 2 or 3. Also, note that I do not expect you to write the cryptographic primitives from scratch. The goal of the project is not to implement Blowfish, for example. You may use the GNU crypto library which provides the cryptography for you. However, adding SSL to the web server is where the challenge lies (on top of understanding how libmicrohttpd works in the first place). The libmicrohttpd project has a couple of examples showing how it works, look at those first to get started.

Note that in class, I understood I misspoke and said something like "use the SSL libraries". This was not correct. Clearly, just using the SSL libraries makes the project a simple software engineering project, which is not the point of this project. However, you may look at the open source SSL libraries in order to help understand how SSL is implemented.