Get free SSL Certificates with your Browser
Some time ago I have posted an article - "Get free SSL Certificates with Perl". It was basically about finding out that some of my SSL certificates were about to expire and ending up writing a Perl client and a library over the weekend to leverage Let's Encrypt API and start getting free certificates in a way I find convenient.
The article, as well as the Perl library/client, was accepted rather well. A few features and improvements were added over time to Crypt::LE library and I was happy to see that people are actually using it. The code runs fine on a wide range of OS/Perl combinations, including Linux, FreeBSD, NetBSD and even Mac OS X and Windows (both with and without Cygwin).
However, I found that one particular feature was not available on Windows, at least not without Cygwin - creating a Certificate Signing Request (CSR) would fail. While it is not such a complex task in itself, it does require some knowledge, especially if you are adding more than one domain name on the CSR. So, another challenge? It sure is!
At first I have just added a page on which users could generate CSR online. One thing leads to another and I thought - why not the whole in-browser client? Plus it is a good opportunity to "refresh" some client-side scripting skills while helping EFF.org to "encrypt the web".
So, from the 1st of June 2016 you can do what has never been done before - Get Let's Encrypt SSL certificates right in your browser, without installing anything or needing to know what "openssl" or "CSR" is.
You can find this newly added in-browser client at ZeroSSL.com as "Free SSL Certificate Wizard". I have tried to make it as easy to understand and use as possible, so hopefully you will find it useful. It should be working fine not only on PC, but also on mobile devices, such as smartphones.
At the moment, the Certificate Wizard is in English, but if you would like to see it in your language, there is a simple translations file you can obtain and send back to me translated (for example via on-site contact form), quoting the language name or the language ISO code in the subject. Please keep the original template formatting including meta-constructs such as 'Section' and 'Item' intact.
I would also appreciate some feedback on whether using this in-browser client was straightforward and easy and whether it worked for you or not. Since it is fully client-side, I cannot know whether it worked for someone or not (once the page is loaded, there is no communication between your browser and ZeroSSL server, only between your browser and Let's Encrypt API). If you encounter errors or something in the process is not clear - let me know.
Overall, learning something new was as usual a quite interesting experience.
NB: This post was made back in 2016. There were quite a few updates made since that post, including multilanguage support, etc. A few years later ZeroSSL project was acquired by apilayer GmbH. The Perl client remains to be "Open Source" though, and can be found at GitHub