OpenSSL is an open-source cryptography and SSL/TLS Toolkit licensed under the apache license. OpenSSL enables a user, through the openssl commandline tool, to: encrypt/decrypt files and data streams, tunnel data through encrypted ciphers, create/verify/sign public/private keys and signatures, and many other things involving cryptography.
I'm using openssl version 0.9.8k. By the time you read this, it is possible that the latest version has been updated. You may want to use a newer version, but it's possible a newer version might not work the same way. To ensure a positive outcome, don't upgrade unless you have a good reason to, or if the openssl folks recommend you to do so on their website.
OpenSSL requires perl, and can make use of zlib
As I write this, the latest version of openssl is 0.9.8k. You can download this, or another version, at http://www.openssl.org/source/. Assuming you want to install version 0.9.8k: download openssl-0.9.8k.tar.gz; put this into a temporary folder, such as /tmp/openssl, and follow the rest of these instructions to install it.
$ mkdir /tmp/openssl $ cd /tmp/openssl $ wget http://www.openssl.org/source/openssl-0.9.8k.tar.gz
$ cd /tmp/openssl $ gzip -dc < openssl-0.9.8k.tar.gz | tar -xf - $ cd openssl-0.9.8k
$ ./config shared --prefix=/usr --openssldir=/usr/ssl $ make
$ make test
# make install
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA+m01YpfcKxcozXxymzVhRcmosRETgOWkiE1xRgD2ny8kouNm yQ3HmkHkJqgaBACtlT8cv+xW342FLtb2e/fvzuenrSoUN23la3UNkwTlhgvOQDyQ tNqpM8ch0wxDMewRztbI2DXPaPOSotjjfvU/bYLyg+IklRiD8LRcQR5IwBBv6Xuv s/WhMdy6cwndxLTRc0MNLiYzYm3dmE7Y9Z4UsTgNaqPK1Ik0xYHLZNPlG0/L+fhl y1K7APcdagbwPk7xp1Zm6dBuv4mwhgBDk4UX4w6dUy9xHtOKggHSejcaPC5JapX+ nPruO3LdjWZX4Dx0mGHhEWRSr7Ybj15i9ZlZIwIDAQABAoIBAEDp5hi0fKG+0xjQ 1XReFeTdLRkY8BFNdaTPTjlzLnp84eZHQ/GB3OejhNxwXq4C7vvs7CrjvHEeYhOO LT5dOpBLhC9i5PKpTfrY0Lf3YPeqP8Bu8qOuuoVtbNskJpbeNo+DJXTGHgl6edw0 lGPodpSQiQSerhTn0eunFPLcQsdl+BgbiJN3loPyWUHT4ESPlrvvsQ+/LkENgIJL rLqhWKfb94JWvHddBHIWWoE5b903UkpLybBH15UQ6H5o0vKEq+Z0LWagShaEyTFg Lt3Q5/IiNLS4p9bzeuZTQ0et3UCgiPEMmXCXwaby7rWjWi5zUGstLoL9Hm2MD2ow j7pEP0ECgYEA/h1Xs374q+DXFf6ZaezaUG3U4jbDRa9pqtF034sCspTPcgBGj7li HiXTJUyZ/9TAU1ZM8eGejvXBIuFuqioehy18Y2ShH/2voM2st2vjj6ebiYs/1cyF 2PQS6Agw8xr8LOwhEV3GquyZXWcuz1jmcm8ID8rk3vYYII20EVl12jsCgYEA/Ejc bNIwtQHNzpYeFNa13Z15i5mmlyMELMCE/0n3IwrMUPAGz3p9aLxVESeJoHVomXdk /PvTCU9gsS+LagOtweRchHj7svT8AI7GMTnHLePkx11njRoTE1uwcZqxv/TsxKUx Mnz4jdS3x8AyHGxehlA0uJ6CUvQ63oV+SX11JjkCgYBXdYnlwWGc5nmgnEv45QgO fn6yjN6QcVsQ654qAhIfnI/5UJb4iHl4ntQZFlA6eOLoy98XsOt9kJ+0fZo0/uIa 7FDPdKbv98QmuCMlzgA4RRuHL2H9F7NJhFetfIQ8Z6E7ZNnMvFXQJjZyqzy1KIfI AubnaJF1G4YaTisXfY7OWQKBgQDVt2tzjEPSsqqEHUtyX8lE6cgzaIBlfDZnKtf/ 48rGFrmqvwsl7CAc/54YoCPImG15xFj6ruHB+0pwD1TNBDzICgoN9udSXJK2bjyb KtT+nRYLhabZM4OBXKUGOAPoFzYUB9S7bn6ot9DQGJLa3TreEUf4Nd81IsxUAUZQ P0VkkQKBgGZFPlEDbajY2fVp/nlON6MEvyFAcH1LEXRM9/X2NiGdG/0ESmhLclZF E3qLZvjiUnlD1sZHjz2QnphWGerx4LIs6/Tev0OQeLYY9hpH7+Kkaj7EHSjfW/Jx 1yv/a/nCU18O9iC2O+8KqpTuR9l0Qe/M9uMXQkBMmGqe2T5pYWd1 -----END RSA PRIVATE KEY-----
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+m01YpfcKxcozXxymzVh RcmosRETgOWkiE1xRgD2ny8kouNmyQ3HmkHkJqgaBACtlT8cv+xW342FLtb2e/fv zuenrSoUN23la3UNkwTlhgvOQDyQtNqpM8ch0wxDMewRztbI2DXPaPOSotjjfvU/ bYLyg+IklRiD8LRcQR5IwBBv6Xuvs/WhMdy6cwndxLTRc0MNLiYzYm3dmE7Y9Z4U sTgNaqPK1Ik0xYHLZNPlG0/L+fhly1K7APcdagbwPk7xp1Zm6dBuv4mwhgBDk4UX 4w6dUy9xHtOKggHSejcaPC5JapX+nPruO3LdjWZX4Dx0mGHhEWRSr7Ybj15i9ZlZ IwIDAQAB -----END PUBLIC KEY-----
-----BEGIN CERTIFICATE REQUEST----- MIICijCCAXICAQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUx ITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALc3vvAV2aEL7xZQS4ctxaiK6C66KPffI2iESKbm UPyB7b56yDRKoa4UNABk78+a98fnlAN7LgD5xNuGiaka9ioBm+rwyo8JN6ijUbMN q4sxgUI1vnrqOXJVmyuYFYDuIYQFwg0jU4/K9atPxPvxhnVVyRKTCnxZCEawxraU kSRkmjAI5Hosv7jCMYGNbiXSLlCx+JjQzJ/yfgdRyhqoBiYOs6WQ9KLNtV+K5KJ+ ue/+5KKTNle1Ds03hOF1F1Qi/NQ/iusxkTdMRbAbssm6eQ85zXJeilweVp5n9rd1 vUITbjWhUj+7lSa88LA2sFp2k6gcj/5LaAC7gyhFi6RWrqMCAwEAAaAAMA0GCSqG SIb3DQEBBQUAA4IBAQBIOUoxw4/oGwIa0ughvEldolJbw9/DoSchlH64zolR6bFb fjwbwt0ArjD+GitPv9wqSn1FkgPlxyWiIQACEElzb9zw4NwP/D5HKGLFymOdhlfg aMyOFUZ8KOEwmcP9GbJVYZJp9Xht7SszpwS8wnmGN/wor3Bmfh78z8U7JzDVVqAp EgCgy8226ibIYj2ivrAHR3IAHA5uJSX6nbHHSReN3u3dUTjfc9OsNDE2kyNFnWca EzY4FJw8gWuHzhsIco/F8zPHkSdH4bXFWKsitJENeG3noPHG0bB+gaLQNob7Oomp OpOdWIdChJu6DeXW5RZ1zXyezTMIPS0EKxbBBlu4 -----END CERTIFICATE REQUEST-----
-----BEGIN CERTIFICATE----- MIIDBjCCAe4CCQD8Dik7X+1OWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJB VTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0 cyBQdHkgTHRkMB4XDTA5MDgyMTE4NTYzOFoXDTA5MDkyMDE4NTYzOFowRTELMAkG A1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNVBAoTGEludGVybmV0 IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB APptNWKX3CsXKM18cps1YUXJqLERE4DlpIhNcUYA9p8vJKLjZskNx5pB5CaoGgQA rZU/HL/sVt+NhS7W9nv3787np60qFDdt5Wt1DZME5YYLzkA8kLTaqTPHIdMMQzHs Ec7WyNg1z2jzkqLY4371P22C8oPiJJUYg/C0XEEeSMAQb+l7r7P1oTHcunMJ3cS0 0XNDDS4mM2Jt3ZhO2PWeFLE4DWqjytSJNMWBy2TT5RtPy/n4ZctSuwD3HWoG8D5O 8adWZunQbr+JsIYAQ5OFF+MOnVMvcR7TioIB0no3GjwuSWqV/pz67jty3Y1mV+A8 dJhh4RFkUq+2G49eYvWZWSMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAjLnZgxqb vlFtumTwTKrVzWwkdKPDE137e1FJT1yqNmn+VWvI+sYzdn2Yl7tvfrZfPA8z/Ml+ BZBeN+ertvjJJ/RG2J62l2Iyg1/norN9Ju0mGLd6iHYRjNPFH+1Cm5TUya61F9JD SLGRyv6uhfGZAIJnDAruZ//jndBzjTMuq/CTC0+3HfhGaHGtdBQECPjdm8e7VORX lyqHr/nV78OHGeqlf+vUMuToR0qsiePmlmq6/mXB8BGxjKT45LnonCscpIY00CQz jE5qmy0kA1LbqDEqn5BbWAJrPhJLYiyTr8JUaIW10rDMsjGetwqNfssBHAAEyYHg C2uW8ApbOWE4EA== -----END CERTIFICATE-----
This version of openssl, when installed using the steps given above, produces the following files:
I personally dislike outdated documentation. If anything here seems wrong, or perhaps did not work for you, please email me (jay@petio.org) and tell me so I can update it. Thanks!