Skip to main content

How to recover the private key of an SSL certificate in an IIS environment?

Summary

Recovering a missing private key in an IIS environment.


User-added image

Purpose: Recovering a missing private key in IIS environment.

For Microsoft II8

(Jump to the solution)

Cause :

Entrust SSL certificates do not include a private key. The private key resides on the server that generated the Certificate Signing Request (CSR). When installed correctly, the Server Certificate will match up with the private key as displayed below:

User-added image

If the private key is missing, the circled message indicating a good correspondence with private key will be missing as shown here:

User-added image

A missing private key could mean:

  • The certificate is not being installed on the same server that generated the CSR.
  • The pending request was deleted from IIS.
  • The certificate was installed through the Certificate Import Wizard rather than through IIS.

In this technote we do not discuss how to determine the reason the private key is missing. Select the link corresponding to each reason listed above for more information.

There's a video for this guide. Watch the video here.

There are three parts to this solution:

1) Snap-In Configuration

2) Import the Server Certificate

3) Recover the private key

Part 1 of 3: Snap-In Configuration

Use the following steps to add the Certificates snap-in:

1. Click Start , and then search for Run .

2. Type in mmc and click OK .

3. From the File menu, choose Add/Remove Snap-in .

4. Select Certificates and then Add .

User-added image

5. Choose the Computer account option and click Next .

6. Select Local Computer and then click Finish .

7. Click Close , and then click OK . The snap-in for Certificates (Local Computer) appears in the console.

User-added image

Part 2 of 3: Import the Server Certificate

Use the following steps to import your Server Certificate into the Personal certificate store. If the Server Certificate has already been imported into the Personal store, you may skip this step.

From the MMC console opened in the above steps:

1. Expand the Certificates (Local Computer) tree in the left preview panel.

2. Right-click Personal and select All Tasks > Import .

User-added image

3. The Certificate Import Wizard appears. Click Next .

4. Browse to the location of your Server Certificate file and click Next .

User-added image

5. Select Place all certificates in the following store and click Next .

6. Click Finish to complete the Certificate Import Wizard.

User-added image

7. A dialog box appears indicating the import was successful. Click OK .

Part 3 of 3: Recover the Private Key

Use the following steps to recover your private key using the certutil command.

1. Locate your Server Certificate file by opening Microsoft Internet Information Services Manager, then on the right side select Tools > Internet Information Services (IIS) Manager.

User-added image

2. Once in IIS Manager, select your server, then on the right side, Server Certificates. You will see all certificates currently on that server. Scroll over the certificate you are trying to install, right click, then select View .

User-added image

3. There, you can view the certificate information. As you can see, there is no indication of a good correspondence with the private key.

4. Click the Details tab. Write down the serial number of the certificate.

User-added image

5. We will need to recover the private key using a command prompt. In order to recover the key, we must do so using command prompt as an administrator. To do so, slick Start , then on then open all App. Under Windows System , find Command Prompt . Right click Command prompt and then Run as administrator . Confirm the action and continue.

6. Make sure you are on the right directory in command prompt.

e.g. , if your server directory is “c:/users/srv2012_r2_std_x64”, on the command line type “cd c:/users/srv2012_r2_std_x64”. Note that “cd” is the command used to change directories in command prompt.

7. Now that we are in the right place, enter the following command at the prompt: certutil –repairstore my <serial number> where <serial number> is the serial number obtained in Step 2 with spaces removed.

User-added image

8. If Windows is able to recover the private key, you see the message:

CertUtil:  -repairstore command completed successfully.

User-added image

If your private key was recovered successfully, your Server Certificate installation is complete.

If the private key was not recovered successfully, you will need to generate a new Certificate Signing Request and submit it to Entrust to have your certificate re-issued, or re-issue the certificate using your ECS Enterprise account.

Check that your Certificate has been successfully installed by testing it on the Entrust SSL Install Checker .

If you have any questions or concerns please contact the Entrust Certificate Services Support department for further assistance:

Hours of Operation:
Sunday 8:00 PM ET to Friday 8:00 PM ET
North America (toll free): 1-866-267-9297
Outside North America: 1-613-270-2680 (or see the list below)

NOTE: It is very important that international callers dial the UITF format exactly as indicated. Do not dial an extra "1" before the "800" or your call will not be accepted as an UITF toll free call.

Country

Number

Australia

0011 - 800-3687-7863

1-800-767-513

Austria

00 - 800-3687-7863

Belgium

00 - 800-3687-7863

Denmark

00 - 800-3687-7863

Finland

990 - 800-3687-7863 (Telecom Finland)
00 - 800-3687-7863 (Finnet)

France

00 - 800-3687-7863

Germany

00 - 800-3687-7863

Hong Kong

001 - 800-3687-7863 (Voice)
002 - 800-3687-7863 (Fax)

Ireland

00 - 800-3687-7863

Israel

014 - 800-3687-7863

Italy

00 - 800-3687-7863

Japan

001 - 800-3687-7863 (KDD)
004 - 800-3687-7863 (ITJ)
0061 - 800-3687-7863 (IDC)

Korea

001 - 800-3687-7863 (Korea Telecom)
002 - 800-3687-7863 (Dacom)

Malaysia

00 - 800-3687-7863

Netherlands

00 - 800-3687-7863

New Zealand

00 - 800-3687-7863

0800-4413101

Norway

00 - 800-3687-7863

Singapore

001 - 800-3687-7863

Spain

00 - 800-3687-7863

Sweden

00 - 800-3687-7863 (Telia)
00 - 800-3687-7863 (Tele2)

Switzerland

00 - 800-3687-7863

Taiwan

00 - 800-3687-7863

United Kingdom

00 - 800-3687-7863
0800 121 6078
+44 (0) 118 953 3088