Be it for securing an server / application or to request for a purchase a trusted SSL Certificate Chain pack from a 3rd party Certificate Authority, both the SSL private key and Certificate Signing Request (CSR) is needed. This is a how-to to generate both the private key and the CSR using OpenSSL
For Windows User:
OpenSSL could be downloaded here
To generate both unencrypted private key (e.g. mydomain.key) and CSR (e.g. mydomain.csr), use OpenSSL and execute this in the command prompt:
openssl req -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
By running this command, it will prompt you to key in a few questions (e.g. Country Name, Organization Name, Email Address, etc.), and by which the answer which you give serves as a means to seed the generation of the private key.
This command will output the private key file mydomain.key using the RSA algorithm with the key size of 2048-bits. The key size could be changed to a higher one like 4096. The private key file is for the user to keep and should remain a secret by all means.