diff --git a/.wordlist.txt b/.wordlist.txt
index 56f3a1d41..c38048f72 100644
--- a/.wordlist.txt
+++ b/.wordlist.txt
@@ -94,6 +94,7 @@ cryptographic
cryptographically
CryptoLocker
CSF
+CSR
CSV
CTM
CTO
@@ -368,12 +369,14 @@ Perl
personalisation
PetalBot
PFS
+PFX
pfSense
PhaaS
PHaaS
PHP
PHPMyAdmin
PID
+PKCS
plc
Plesk
Polkit
diff --git a/source/domains/ssl/generating_csrs.md b/source/domains/ssl/generating_csrs.md
new file mode 100644
index 000000000..b741294d6
--- /dev/null
+++ b/source/domains/ssl/generating_csrs.md
@@ -0,0 +1,58 @@
+# How to Generate a CSR File
+
+```eval_rst
+ .. title:: SSL | Generating a CSR
+ .. meta::
+ :title: SSL | Generating a CSR | ANS Documentation
+ :description: Generating a CSR
+```
+This guide will help you generate a Certificate Signing Request (CSR) on different operating systems.
+
+## Pre-requisite reading
+
+On SSL certificates that protect a single hostname/domain, your primary hostname is the hostname/domain you have chosen.
+
+For multi-domain SSL certificates, the primary hostname is the first hostname that
+is listed on your SSL certificate inside [ANS Glass](https://portal.ans.co.uk/ssl/index.php).
+
+You should also ensure to make sure your key and CSR are in a safe folder, as you'll need the the key
+to install the SSL certificate and the CSR to generate your SSL Certificate.
+
+## Generate a CSR on Linux
+
+First, check if OpenSSL is installed:
+
+```shell
+openssl version
+```
+
+If OpenSSL is not installed, you will see an error message. In that case, install OpenSSL:
+
+#### Ubuntu
+
+```shell
+sudo apt install openssl
+```
+
+#### RHEL/AlmaLinux
+
+```shell
+sudo yum install openssl
+```
+
+Now you can generate the CSR. You need to replace `yourhostname` with your primary hostname (Common Name)
+that the SSL will protect.
+
+```shell
+openssl req -new -newkey rsa:2048 -nodes -keyout /path/to/yourhostname.key -out /path/to/yourhostname.csr
+```
+
+## Generate a CSR on Windows
+
+1. Open `IIS Manager`.
+1. Select the server in the `Connections` pane.
+1. Double-click the `Server Certificates` icon.
+1. Click the `Create Certificate Request` link in the Actions pane.
+1. Fill out the `Distinguished Name Properties` form with the required information (`Common Name` (primary hostname), `Organization`, `City/locality`, `State/province`, `Country/region`).
+1. Set the `Cryptographic Service Provider Properties` (Microsoft RSA Schannel Cryptographic Provider and a bit length of 2048).
+1. Create a file name for your CSR and click the Finish button.
diff --git a/source/domains/ssl/generating_pfx_files.md b/source/domains/ssl/generating_pfx_files.md
new file mode 100644
index 000000000..9cbbb86a7
--- /dev/null
+++ b/source/domains/ssl/generating_pfx_files.md
@@ -0,0 +1,61 @@
+# How to Generate a PFX File
+
+```eval_rst
+ .. title:: SSL | Generating a PFX file
+ .. meta::
+ :title: SSL | Generating a PFX file | ANS Documentation
+ :description: Generating a PFX file
+```
+This guide will help you generate a PFX (also known as PKCS#12) file on different operating systems.
+
+## Generate a PFX file on Linux
+
+First, check if OpenSSL is installed:
+
+```shell
+openssl version
+```
+
+If OpenSSL is not installed, you will see an error message. In that case, install OpenSSL:
+
+#### Ubuntu
+
+```shell
+sudo apt install openssl
+```
+
+#### RHEL/AlmaLinux
+
+```shell
+sudo yum install openssl
+```
+
+Now you can generate the PFX file.
+
+Suppose you have a private key file (`privateKey.key`), a certificate file (`certificate.crt`), an intermediate certificate file (`intermediate.crt`) and a root certificate file (`root.crt`).
+Open a terminal and run the following command:
+
+```shell
+openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile intermediate.crt -certfile root.crt
+```
+
+You'll be prompted to set an export password to protect the PFX file. Remember this password; you'll need it later.
+
+## Generate a CSR on Windows
+
+Check if OpenSSL is Installed by opening a Windows Command Prompt and entering:
+
+```powershell
+openssl version
+```
+
+If OpenSSL is not installed, you will see an error message. In that case, install OpenSSL following the official instructions located at https://github.com/openssl/openssl/blob/master/README.md.
+
+Suppose you have a private key file (`privateKey.key`), a certificate file (`certificate.crt`), an intermediate certificate file (`intermediate.crt`) and a root certificate file (`root.crt`).
+Open a terminal and run the following command:
+
+```powershell
+openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile intermediate.crt -certfile root.crt
+```
+
+You'll be prompted to set an export password. Remember this password for future use.
diff --git a/source/domains/ssl/index.rst b/source/domains/ssl/index.rst
index 0041a8a44..36b8df4a0 100644
--- a/source/domains/ssl/index.rst
+++ b/source/domains/ssl/index.rst
@@ -6,9 +6,11 @@ SSL Certificates
:maxdepth: 1
Purchasing and Renewing
+ Generating A CSR (Certificate Sigining Request)
Validating your Certificate
- UKFast SSL Types
+ ANS SSL Types
Self Signed Certificates
Using Server Name Indication (SNI)
Extended Validation Certificates
+ Generating a PFX file
letsencrypt/index