OpenSSL
OpenSSL is an open source project that consists of a cryptographic library and an SSL toolkit.
According to the project's website itself, the OpenSSL Project is:
"A collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols as well as a full-strength general purpose cryptography library. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation."
OpenSSL libraries can be used to create a certificate request (CSR), a self-signed certificate and even to issue a certificate as a CA. If you are running a small or corporate organization and have the ability to import a root trust certificate to all computer systems, you can become your own CA and issue certificates yourself.
For example, I will be using my Ubuntu server. This is an old release but of course...