This article is part of a series on implementing BIG-IP SSL Orchestrator. It includes high availability and central management with BIG-IQ.
Implementing SSL/TLS Decryption is not a trivial task. There are many factors to keep in mind and account for, from the network topology and insertion point, to SSL/TLS keyrings, certificates, ciphersuites and on and on. This article focuses on SSL certificates and everything you need to know about them.
This article is divided into the following high level sections:
Please forgive me for using SSL and TLS interchangeably in this article.
Software versions used in this article:
BIG-IP Version: 14.1.2
SSL Orchestrator Version: 5.5
BIG-IQ Version: 7.0.1
OpenSSL can be used to sign a CSR. It can also be used to generate a self-signed certificate. When creating a CSR for production, you might need to use OpenSSL with a template in order to populate certain fields like the Digital Signature. This information is provided as a courtesy.
OpenSSL contains an open-source implementation of the SSL and TLS protocols. The core library, written in the C programming language, implements basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available.
OpenSSL can be used to create private keys, certificates and more. Here’s an example of the syntax used to create a self-signed certificate:
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
Full instructions about how to use OpenSSL are beyond the scope of this article. However, the links below contain excellent information on usage:
Note: If you want to create your own OpenSSL Certificate Authority the following Dev/Central Article is excellent:
This method is generally preferred to using self-signed certificates.
Rather than reinvent the wheel, the Virtually There Blog does an excellent job of explaining the process to sign a CSR with a local Certificate Authority. Click the link below to learn more:
Note: If you’re looking for information about how to setup your own local Microsoft CA see this previous blog:
Note: the blog author has given f5 permission to include the links above.
From the Configuration Utility > SSL Orchestrator > Certificate Management > Traffic Certificate Management. Click on the certificate created earlier (my_certificate).
Click Choose File and select the signed certificate from the CA. Click OK/Open. Click Import.
Note: Using Certificate Chains or Subordinate CAs
If using Certificate Chains be sure to include all intermediate certificates in the chain. For more information on Certificate Chains, see this Microsoft article.
Follow the steps below if you already have the private key and certificate you want to use for SSL decryption.
From the BIG-IP Configuration Utility click SSL Orchestrator > Certificate Management > Certificates and Keys. On the far right, click Import.
For Import Type click Select. Different types of import options are available.
For this example, select Key. Give it a name, in this example SSL.key. You can upload the key from a local file or paste it in as text. Choose the method you prefer and click Import when done. The example below shows the local file method.
Click the name of the Key you created.
Click Import. You can upload the certificate from a local file or paste it in as text. Choose the method you prefer and click Import when done. The example below shows the local file method.
You have successfully imported the private key and certificate.
Note: most Enterprise customers will have their own local Certificate Authority (CA).
If you are creating an Inbound Topology you can use this method to create a CSR.
From the F5 Configuration Utility go to SSL Orchestrator > Certificate Management > Certificates and Keys. Click Create on the top right.
Give the certificate a name. For Issuer select Certificate Authority. Fill in the rest of the form.
Click Finished when done.
The page should look like the following. Click Download my_certificate to download it as a file. You can optionally copy the text output to the Clipboard. Download the CSR so it can be signed by your Local Certificate Authority.
Certificates generated by SSL Orchestrator need to be trusted by the client computers. If using a Microsoft Certificate Authority (CA) to sign the SSL certificates the clients will trust it automatically, assuming they are members of the same domain as the CA. If using Self-Signed certificates you need to install them in the Certificate store on all client computers.
Most Enterprise customers won't do this in production but it's often used for testing or demos. Either way, it's important to know these procedures.
Firefox has its own Certificate store. Click the icon on the top right then Preferences.
Note: Firefox version 70.0.1 was used in the configuration below.
Scroll to the bottom of the next screen. Under Security click View Certificates.
Find the Certificate on your computer. Select it and click Open.
Select the option to Trust this CA to identify websites. Click OK.
Internet Explorer/Edge and Chrome use the Windows Certificate store.
Locate the Certificate on your computer and double click it. Click Install Certificate.
Click Next at the Import Wizard.
Select the option to Place all certificates in the following store. Click Browse.
Select Trusted Root Certification Authorities then OK.
You should see a Security Warning like the following. Click Yes.
Click OK to the Successful Import message.
Microsoft has a variety of support articles and documentation for how to do this with GPO:
In this article we covered the most common tasks associated with SSL certificates and how to use them with SSL decryption.
The next article in this series will cover the Guided Configuration component of SSL Orchestrator.