SSL Certificate for internal app in a Windows domain

·2 min read·Paul Logan

The Brief

One of the requirements for a Progressive Web App (PWA) is the use of HTTPS for secure, encrypted communication over a computer network. The computer network most people are familiar with is the internet, but in the scenario for this blog post, it is the company’s Local Area Network (LAN). The PWA will only be accessed by users that are logged into the company domain/network.

Instead of a commercial web hosting service used for allowing access via the internet, the PWA is hosted on one of our internal Windows servers, acting as a web server using Internet Information Services (IIS). To allow use of the HTTPS protocol, a ceritficate validating the address of the app has to be obtained from a Certificate Authority.

Here are all of the steps taken to complete the process.

Adding the required Snap-ins

Step 1 {.shadow}

Step 1

![Step 1](creating-a-certificate-2.png){.shadow}

Step 2

![""](creating-a-certificate-3.png){.shadow}

Step 3

![""](creating-a-certificate-4.png){.shadow}

Step 4

![""](creating-a-certificate-5.png){.shadow}

Step 5

![""](creating-a-certificate-6.png){.shadow}

Step 6

![""](creating-a-certificate-7.png){.shadow}

Step 7

![""](creating-a-certificate-8.png){.shadow}

Step 8

Creating the Custom Request

"" {.shadow}

Step 9

![""](creating-a-certificate-10.png){.shadow}

Step 10

![""](creating-a-certificate-11.png){.shadow}

Step 11

![""](creating-a-certificate-12.png){.shadow}

Step 12

![""](creating-a-certificate-13.png){.shadow}

Step 13

![""](creating-a-certificate-14.png){.shadow}

Step 14

![""](creating-a-certificate-15.png){.shadow}

Step 15

![""](creating-a-certificate-16.png){.shadow}

Step 16

![""](creating-a-certificate-17.png){.shadow}

Step 17

For the “Common name” property below, use the exact URL that will be used to access the PWA.

I mistakenly had used the fully qualified domain name, MySecureApp.CompanyDomain.local, for my app with a URL of https://MySecureApp . The Common name should have been set to MySecureApp.

"" {.shadow}

Step 18

"" {.shadow}

Step 19

![""](creating-a-certificate-20.png){.shadow}

Step 20

![""](creating-a-certificate-21.png){.shadow}

Step 21

![""](creating-a-certificate-22.png){.shadow}

Step 22

Submitting a new request

"" {.shadow}

Step 23

![""](creating-a-certificate-24.png){.shadow}

Step 24

The Certificate Information

"" {.shadow}

Step 25

![""](creating-a-certificate-26.png){.shadow}

Step 26

![""](creating-a-certificate-27.png){.shadow}

Step 27

![""](creating-a-certificate-28.png){.shadow}

Step 28

Saving the Console for future use

Saving the current console settings of the Management Console means that in future, the console can be opened with all of the actions associated with creating a certificate in one place.

"" {.shadow}

Step 29

![""](creating-a-certificate-30.png){.shadow}

Step 30