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.