Setup HTTPS[SSL] on WAMP Server

Currently I am using Wamp server 2.2.
You can follow steps below to create working https SSL in your localhost:
1)    Install the Apache lastest Version (include OpenSSL) to work with openssl.
2)   Create SSL Certificate and Key
a. Extract OpenSSL to your directory, and copy this file:
//It will ask you to replace files. So replace files.
  • Copy openssl.cnf to .\Apache2.2.11\conf\
  • Copy all files from bin folder to C:\wamp\bin\apache\apache2.2.22\bin  
b. Open DOS command window by typing ‘cmd’ in your search menu.
c. Type this cd C:\wamp\bin\apache\apache2.2.11\bin
d. Create a server private key with 1024 bits encryption by entering this command:
openssl genrsa -des3 -out server.key 1024
// It’ll ask you a pass phrase (password), just enter any password you like .
e. Remove the pass phrase from the RSA private key (while keeping a backup copy of the original file). Enter this:
copy server.key  server.key.org
openssl rsa -in server.key.org -out server.key
// It’ll ask you the pass phrase, just type it.
f. Create a self-signed Certificate (X509 structure) with the RSA key you just created. Enter this:
openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt -config C:\wamp\bin\apache\apache2.2.11\conf\openssl.cnf
//Enter asked details
3. Copy the server.key and server.crt files
a. In the C:\wamp\bin\apache\Apache2.2.11\conf\, create two folders named asssl.key and ssl.crt
b. Copy the server.key file to ssl.key folder and server.crt file to ssl.crt folder
// If you cannot see ssl.key and server.crt file then enable “view hidden files”
4. Edit the httpd.conf file, php.ini, and httpd_ssl.conf
a. Open C:\wamp\bin\apache\apache2.2.11\conf\ httpd.conf file
b. Remove the comment ‘#’ at the line which says: LoadModule ssl_module modules/mod_ssl.so
c. Remove the comment ‘#’ at the line which says: Include conf/extra/httpd-ssl.conf
d. Open this file-> C:\wamp\bin\php\php5.3.13\php.ini
e. Remove the comment ‘;’ at the line which says: extension=php_openssl.dll
f. Open this file -> C:\wamp\bin\apache\Apache2.2.11\conf\extra\httpd_ssl.conf
g. Find the line which says: <VirtualHost _default_:443>.
h. Right after it, change the line which says:
  • Change the line “DocumentRoot …” to DocumentRoot “C:/wamp/www/”
  • Change the line “ServerName…” to ServerName localhost:443
  • Change the line “ErrorLog….” to Errorlog “C:/wamp/bin/apache/Apache2.2.11/logs/sslerror.log”
  • Change the line “TransferLog ….” to TransferLog “C:/wamp/bin/apache/Apache2.2.11 /logs/sslaccess.log”
  • Change the line “SSLCertificateFile ….” to SSLCertificateFile “C:/wamp/bin/apache/Apache2.2.11 /conf/ssl.crt/server.crt”
  • Change the line “SSLCertificateKeyFile ….” to SSLCertificateKeyFile “C:/wamp/bin/apache/Apache2.2.11/conf/ssl.key/server.key”
  • Add the following lines inside those <Directory … >…</Directory> tags:
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  • Change the line “CustomLog…” to CustomLog “C:/wamp/bin/apache/Apache2.2.11/logs/ssl_request.log”
5. Make sure it works!
    a. In the previous DOS Command windows, enter httpd -t . If it displays Syntax is OK,     then go to next step. If not, then correct the wrong syntax and redo step 4.
    b. Restart the Apache server. If restart is successful, then open the browser and enter https://localhost/
How it goes? Works, eh? Congratz!
and lastly, to redirect non-https entered link to https, do this.
1. Open file C:/wamp/bin/apache/Apache2.2.11\conf\httpd.conf
2. Add this after the last line
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Hope it helps you while you’re treading your way through Setup HTTPS[ssl] on localhost. Comment here for any questions or suggestions.