Web based TLS certificate management system

project-thumbnail-2019-certificate-management-application
Developed for Riga Technical University (RTU) in 2019
Tags: Java Tomcat Spark BouncyCastle

A security focused course work, to make managing certificates and their expiry easier.

More information

Did you know that Let's Encrypt only became a thing back in 2014? From there they gradually made more and more impact upon the industry, before eventually becoming widespread to the point where almost all of my public certificates are issued by them. However, for this university course project, I set out to create my own web based management system, which would allow you to easily generate as many certificates as you need.

What I did

The project was based on the Bouncy Castle API for Java, which let me access a lot of useful cryptography related functionality, around which I built a web UI. While the project wasn't really production ready, it was still a useful experience and a proof of concept - something between doing everything manually and trying to fully automate things.

What I learnt

Admittedly, I learnt how much of a mess the Bouncy Castle API was internally - crypto primitives with names that don't make sense, a lack of complete examples for how everything should fit together, as well as the awkward error or two along the way. Either way, my hat is off to those brave people who try to create secure libraries like this, no matter how rough the road towards actually using them yourself is.

Page rendered in: 0.01 seconds