  Author:    Siddharth Zokarkar
  Reference: https://github.com/civetweb/civetweb/blob/master/docs/OpenSSL.md

----------------------------------------------------
  Steps to generate SSL Server certificate for Linux
----------------------------------------------------
  openssl genrsa -des3 -out server.key 2048

  openssl req -new -key server.key -out server.csr

  cp server.key server.key.orig

  openssl rsa -in server.key.orig -out server.key

  openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

  cp server.crt server.pem

  cat server.key >> server.pem

------------------------------------------------------              
  Steps to generate SSL Server certificate for Windows
------------------------------------------------------

  openssl genrsa -des3 -out server.key 2048

  openssl req -new -key server.key -out server.csr

  copy server.key server.key.orig

  openssl rsa -in server.key.orig -out server.key

  openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

  copy server.crt server.pem

  type server.key >> server.pem


-----------Example------------

The following two steps are important to understand:
 
openssl genrsa -des3 -out server.key 2048
----> cv12345


openssl req -new -key server.key -out server.csr
---->

Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Baden Wuerttemberg
Locality Name (eg, city) []:Schwenningen
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Carl Valentin GmbH
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:CarlValentin
Email Address []:support@carl-valentin.de

Note: Rest of the 2 remaining questions were not answered(Optional).

---------END---------

