Register and Install a Free SSL Certificate on Umbraco Cloud

Heads Up!

This article is several years old now, and much has happened since then, so please keep that in mind while reading it.

These days an "https" in front of your domain is a requirement for any serious website, but SSL Certificates (going for $10 - $600 per year) can represent yet another ongoing cost for website owners. For sites which are small or don't have a budget for SSL certificates, there are no-cost options. So, if you are willing to substitute some time for money (since a free SSL Certificate needs to be manually renewed every few months), read on for a step-by-step guide.

The first half of this procedure involves getting the free SSL Certificate. This can be used for any web host. The second half deals with setting up SSL on an Umbraco Cloud project, which would work with a free SSL Certificate or any other that you have obtained for your site.

Part 1: Get the Free SSL Certificate Files

  1. Go to https://www.sslforfree.com/
  2. Click "Login" in the upper-right, fill in your email and a password. Click the "Register" button (optional, but convenient when you need to renew your certificate).

  3. Add your domain and any related subdomains - I'd suggest at least adding "www".
  4. Go through the verification process. (For an Umbraco Cloud hosted site, I find the "Manual Verification (DNS)" option is the quickest, as long as you have access to the domain registrar.)
  5. Download all the resulting SSL files (it will be in a ZIP file) & extract them.
  6. Install "Open SSL": http://gnuwin32.sourceforge.net/packages/openssl.htm
  7. Open notepad, copy & paste in this command:

    pkcs12 -export -out C:\temp\sslforfree\cert.pfx -inkey C:\temp\sslforfree\private.key -in C:\temp\sslforfree\certificate.crt -certfile C:\temp\sslforfree\ca_bundle.crt

  8. Update it with the path to your extracted folder (from step 5). Select the new command text, and copy it.
  9. Open openssl.exe (C:\Program Files (x86)\GnuWin32\bin\openssl.exe)
  10. Paste in your updated command
  11. Type a password to set on the file - keep track of this.
  12. A new *.pfx file will now be in the directory with the other certificate files.

Part 2: Update Umbraco Cloud Project

  1. In your Umbraco Cloud project, go to Settings > Manage Domains.

  2. Scroll down to "Hostnames for Live". Make sure the domains you set up for the SSL Certificate are in the list. If not, add them.
  3. Scroll further down to "SSL Certificates"
  4. Under "Upload Certificate", browse to your new *.pfx file and type in the password you used in step 11 (above). Click the "Upload" button. You should then see your new certificated added to the list.
  5. Next, go to "Hostname bindings for SSL"
  6. Add bindings for all the related hostnames.

Notice that if you have multiple sites with different domains on your Umbraco Cloud site, you can upload separate SSL Certificates for each domain as assign them individually. This offers you fantastic flexibility. 

Finally, if you haven't yet done it, you should add a url rewriting rule to your web.config to push all requests to the "https" version of your site:

<rule name="Redirect to https" stopProcessing="true">
	<match url=".*" />
	<conditions>
		<add input="{HTTPS}" pattern="off" ignoreCase="true" />
		<add input="{HTTP_HOST}" matchType="Pattern" pattern="local" negate="true" />
	</conditions>
	<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>

Now, go celebrate - your website is secured!


Heather Floyd is a freelance Umbraco and ASP.Net Developer with over a decade of Umbraco experience. She can be found at HeatherFloyd.com.

Heather Floyd

Heather is on Twitter as