Deploy SSL in Windows
SSL Certificates secure the web today using Transport Layer Security (TLS). This is a network protocol which encrypts the data between the web server and the visitor. Most websites today are using SSL, and you can see this every time a website starts with https:// instead of http://. This indicates the website is securely encrypting data between you and the server so that no attackers can easily sniff the network packets and capture your logins.
- Generating the Certificate Request (CSR)
Before ordering your SSL, you will need to create a certificate request for the certificate authority to issue an SSL.
Step 1: To begin, the first thing you need to do is open IIS. From here you will click on your server name:
Step 2: Then double-click “Server Certificates“
Step 3: Once you have done that, you are ready to create your certificate request. On the right-hand side, select ‘Create Certificate Request‘
At this point, you will be asked for information about the certificate and the company requesting the certificate.
Once you have filled this out, click Next.
Step 4: We suggest using the settings above, making sure the Bit Length is set to 2048 or higher. We like to go with 4096 and click Next. On the subsequent screen, you need to specify a filename where your Certificate Request or CSR can be exported. For simplicity, we would like to export the CSR to C:\example.com.csr.txt
- Ordering the SSL
At this point, you are ready to order your SSL certificate!
Step 1: Go ahead and go to your chosen SSL provider, whether it be GlobalSign, Liquid Web, or any numerous other certificate authorities.
Step 2: When you are signing up for the SSL, it will ask you for the CSR data we saved at C:\example.com.csr.txt – Copy and paste the contents into the certificate authorities website, and it will generate all the same fields we entered via the previous steps.
Step 3: Finish your order, and they will provide you with a .crt certificate file. Download this file and copy it to your web server. For simplicity, copy it to C:\example.com.cer
Now you have created a certificate request and completed it with the certificate authority and have your new SSL certificate ready to be installed.
- Installing the Certificate in IIS
Step 1: Open up IIS/inetmgr.exe and navigate to the server as we did in the beginning.
Step 2: Navigate to Server Certificates. Now, instead of selecting ‘Create Certificate Request’ you will select ‘Complete Certificate Request‘
Step 3: It will prompt you for the location of the new certificate, which we saved at C:\example.com.cer and to make things easier on ourselves later, we will name the friendly name example.com-01 so that we know this is the first SSL for this domain in case we want to renew it later. Once you hit OK, you should see your certificate in the list of server certificates in IIS.
Now you have generated the certificate request, completed it, and installed your certificate on your web server. Now you need to bind the certificate to your website.
- Binding the SSL Certificate to a Website
Step 1: In IIS, browse to Sites > example.com (where you want the SSL certificate installed).
Step 2: Right-click on your site and select ‘Edit Bindings‘ or if you click on the site, you will see Bindings on the right-hand side.
Step 3: If you already have the https binding setup for your site, you will simply double-click on the https bindings and select the desired SSL certificate from the drop-down. If you haven’t created a https entry in your bindings, click Add. On the right-hand side
Step 4: First, set the Type to https so your website knows the request is for a secured URL.
You will want to set the IP Address on your host. In my case, All Unassigned.
Port should be automatically set to 443, if not, do so. (This is the port defined for secured communications.)
Step 5: Set the Host Name to example.com (your domain). In most cases, you will want to check Require Server Name Indication. In our case, we do not need it because this is the only certificate on this IP address. Select your SSL certificate from the drop-down!
Select OK and do it all again, this time instead of setting the hostname to example.com, you will want to set it to www.example.com. This is because we only set it up for requests from https://example.com, but https://www.example won’t register as secured until we add the second binding entry.