Contents
data/authors/Paul Logan.json

SSL Certificate for internal app in a Windows domain

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
Step 1
Step 1
Step 2
/posts/coding/issuing-a-certificate/creating-a-certificate-3.png
Step 3
/posts/coding/issuing-a-certificate/creating-a-certificate-4.png
Step 4
/posts/coding/issuing-a-certificate/creating-a-certificate-5.png
Step 5
/posts/coding/issuing-a-certificate/creating-a-certificate-6.png
Step 6
/posts/coding/issuing-a-certificate/creating-a-certificate-7.png
Step 7
/posts/coding/issuing-a-certificate/creating-a-certificate-8.png
Step 8

Creating the Custom Request

/posts/coding/issuing-a-certificate/creating-a-certificate-9.png
Step 9
/posts/coding/issuing-a-certificate/creating-a-certificate-10.png
Step 10
/posts/coding/issuing-a-certificate/creating-a-certificate-11.png
Step 11
/posts/coding/issuing-a-certificate/creating-a-certificate-12.png
Step 12
/posts/coding/issuing-a-certificate/creating-a-certificate-13.png
Step 13
/posts/coding/issuing-a-certificate/creating-a-certificate-14.png
Step 14
/posts/coding/issuing-a-certificate/creating-a-certificate-15.png
Step 15
/posts/coding/issuing-a-certificate/creating-a-certificate-16.png
Step 16
/posts/coding/issuing-a-certificate/creating-a-certificate-17.png
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.

/posts/coding/issuing-a-certificate/creating-a-certificate-18.png
Step 18

/posts/coding/issuing-a-certificate/creating-a-certificate-19.png
Step 19
/posts/coding/issuing-a-certificate/creating-a-certificate-20.png
Step 20
/posts/coding/issuing-a-certificate/creating-a-certificate-21.png
Step 21
/posts/coding/issuing-a-certificate/creating-a-certificate-22.png
Step 22

Submitting a new request

/posts/coding/issuing-a-certificate/creating-a-certificate-23.png
Step 23
/posts/coding/issuing-a-certificate/creating-a-certificate-24.png
Step 24

The Certificate Information

/posts/coding/issuing-a-certificate/creating-a-certificate-25.png
Step 25
/posts/coding/issuing-a-certificate/creating-a-certificate-26.png
Step 26
/posts/coding/issuing-a-certificate/creating-a-certificate-27.png
Step 27
/posts/coding/issuing-a-certificate/creating-a-certificate-28.png
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.

/posts/coding/issuing-a-certificate/creating-a-certificate-29.png
Step 29
/posts/coding/issuing-a-certificate/creating-a-certificate-30.png
Step 30