DevCA
https://github.com/orndorffgrant/devcaPost backdated to the time of the project.
While working on the backend for Squaresplosion, which is a websocket-over-TLS server (wss), I needed to make a TLS certificate for local development. I hacked together a short script using openssl to make a self-signed CA and issue a certificate for a private key, but it was a pile of esoterica. I thought that it would be nice to have a tool that could do this in a more user-friendly way.
I looked around and I found prior art in minica. I somehow didn't find mkcert at the time. But I wanted to make my own tool, and I wanted to keep learning rust, so I made devca.
devca first generates a self-signed certificate authority (CA). It uses that CA to generate certificates for any name that you'd like with a command like devca new localhost. It also offers basic management commands like devca ls and devca delete as well as a devca path-to command to get the path to the certificate and key for a given name.
I used this project as an excuse to play around with compiling to wasm and using a wasm runtime to use devca as a CLI tool. I include instructions on how to use the wasm build in the README.
Later on, I also used this project to learn how to build a snap package. So you can install devca on Ubuntu with snap install devca.
You can find the code, usage instructions, and more in the repository on github.