In this article, a security expert explains the importance of SSL Certificates and using a Certificate Authority, and how to go about acting as your own CA.
There are two kinds of SSL Certificates you can create for your own server: self-signed certificates and certificates that are signed by a Certificate Authority (CA) . With a self-signed certificate, you always get a warning in the browser since the certificate is not trusted by the browser. However, a certificate signed by a CA that is trusted by the browser gives you the green bar. A browser trusts the CA if the CA’s public root certificate is installed in the browser and/or computer you are using.
Being your own CA has the minor inconvenience that you must install the CA root certificate in all clients (browsers) that visit any of the sites with a certificate signed by your root CA. For this reason, being your own CA is mainly suitable for sites used by a small group of users. On the bright side, there are no costs associated with being your own CA.
If you have a small group of users using your secure site, you may provide a web page with information on how to install your public CA root certificate. As an example, we provide a CA test certificate and a web page that explains how to install this CA test certificate.
You can find several tutorials on the internet that explain how to use the OpenSSL command line tool for setting up your own CA infrastructure. If you are new to X.509 certificate chain of trust, these tutorials will make your head spin. In addition, the OpenSSL command line tool is a bit cumbersome to use and gives difficult to understand error messages if you make mistakes.
To make it much easier to be your own CA, we created a web application that wraps around the OpenSSL command line tool. The web application includes a wizard making it very easy to create a root CA and to create any number of certificates signed by the root CA. The web application is self-contained, and you simply need to download the tool and run it on your computer.
BTW, if you are completely new to X.509 certificates, I recommend reading the article I posted some time ago. See A Gentle Introduction to Asymmetric Encryption and SSL Certificates for more information.