Author: Steven Neiland

Warning: This blog entry was written two or more years ago. Therefore, it may contain broken links, out-dated or misleading content, or information that is just plain wrong. Please read on with caution.

I'm not a fan of IIS but I have to admit that IIS7 does make a lot of things easier than IIS6. One of these things being the creation of self signed ssl certs. If you are a web developer then eventually you will want to create and install an ssl cert for testing purposes, here I'll show you how using the IIS7 GUI.

Note: A site running a self signed certificate will generate warnings when you visit it. Do not use this for a production website.

Step 1: Open The GUI

From the start menu open "Internet Information Services (IIS) Manager". This should present you with this screen.


Step 2: Open Server Certificates Feature

In the pane to the right in the IIS region open the "Server Certificates" feature.


Step 3: Select Create Self-Signed Certificate

The view that just opened will display a list of all currently installed certs. To create a new self signed cert click on the "Create Self-Signed Certificate" option in the "Actions" pane.


Step 4: Name And Save The Cert

In the new window that opened give the cert a meaningful identifier and save it. The cert will now be listed.

name_ssl_cert new_ssl_listed

Step 5: Install The Cert

Now that the ssl cert is created we now need to install it on a website. To do this right click on the site you want to install the cert on and select "Edit Bindings".


Step 6: Add A New Binding

From the window that opens click the "Add" button to create a new binding.


Step 7: Set Type HTTPS And Select Cert

From the next window which opens set thebinding type to "https" and select the SSL certificate we previously created.


Save the change and you should now see a second site binding listing the https site.


Step 8: Test

Finally test the cert is installed by visiting the website. In this example I created a ssl cert for localhost so to check it I opened the address "https://localhost". After accepting the certificate warning and adding an exception I was able to view my site using ssl.

So there you have it. I don't think you can get any easier than that.

What Do You Think?

Reader Comments

felix's Gravatar
Wednesday, August 15, 2012 at 9:59:07 AM EDT

Hi !
today I needed a quick installation guide for windows 2008 server and I was searching on these microsoft pagees for about 2 hours. than I Googled and found your Guide "How To Create And Install A Self Signed SSL Cert With IIS7 " - step by step explanation- thats what a microsoft dummy- and linux nerd- neeeded. THANK YOU very much, saved my day! Kind Regards - felix

Stuart Page's Gravatar
Stuart Page
Monday, August 20, 2012 at 10:52:52 AM EDT

Excellent instructions - much appreciated!!

Fouetieu's Gravatar
Tuesday, April 2, 2013 at 7:57:52 AM EDT

Very good!
thank! it is so helful.

Samuel's Gravatar
Friday, April 5, 2013 at 4:53:13 AM EDT

after selecting https the site is getting stopped. while trying to start iismgr displays an error message. error "The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)". Can you please recover this error.

Steven Neiland's Gravatar
Steven Neiland
Wednesday, April 17, 2013 at 3:32:57 PM EDT

I've had this happen once. Either something has gone wrong generating the cert or iis is having a permissions conflict.

The easiest solution is to restart the server itself first.

If that does not work then I suggest remove the ssl cert from your site settings, restart it and try again.

Yogesh's Gravatar
Tuesday, June 18, 2013 at 8:37:52 AM EDT

How to get green bar for the self signed certificate ?
Not for online but atleast for offline

Steven Neiland's Gravatar
Steven Neiland
Tuesday, June 18, 2013 at 2:13:35 PM EDT

You won't ever get a green bar with a self signed cert.

Andy's Gravatar
Tuesday, December 17, 2013 at 7:45:53 AM EST

How do you add exception and view certificate

Post a Comment

Comment Etiquette:

  • Please keep comments on-topic.
  • Please do not post unrelated questions or large chunks of code.
  • Please do not engage in flaming/abusive behaviour.
  • Comments that contain or appear to be advertisments, will not be published.
  • Comments that appear to be created for the purpose of linkbuilding to commercial sites will be removed.

We are all adults here so play nice.


Archives Blog Listing

Tag Listing

Learn CF In A Week


Fork me on GitHub