Preventing certificate warnings (self-signed certificate)

Facebooktwittergoogle_plusredditpinterestlinkedinFacebooktwittergoogle_plusredditpinterestlinkedin

In this recipe, you will prevent users from receiving a security certificate warning when your FortiGate performs full SSL inspection on incoming traffic. There are several methods for doing this, depending on whether you are using a self-signed certificate, your FortiGate’s default certificate, or a CA-signed certificate. This recipe explains how you can prevent certificate warnings when you are using a self-signed certificate.

When full SSL inspection is used, your FortiGate impersonates the recipient of the originating SSL session, then decrypts and inspects the content. The FortiGate then re-encrypts the content, creates a new SSL session between the FortiGate and the recipient by impersonating the sender, and sends the content to the end user. This is the same process used in “man-in-the-middle” attacks, which is why a user’s device may show a security certificate warning.

For more information about SSL inspection, see Why you should use SSL inspection.

Often, when users receive security certificate warnings, they simply select Continue without understanding why the error is occurring. To avoid encouraging this habit, you can prevent the warning from appearing in the first place.

Find this recipe for other FortiOS versions
5.2 | 5.4 | 5.6

Using a self-signed certificate

In this method, you create a self-signed certificate using OpenSSL. You then install this certificate on the FortiGate for use with SSL inspection. In this recipe, OpenSSL for Windows version 1.1.0f is used.

1. Creating a certificate with OpenSSL

If necessary, download and install Open SSL. Make sure that the openssl.cnf file is located in the BIN folder for OpenSSL.

Using Command Prompt (CMD), navigate to the BIN folder (in this example, the command is cd c:\OpenSSL-Win64\bin).

Generate an RSA key with the following command:

openssl genrsa -aes256 -out fgcaprivkey.pem 2048 -config openssl cnf

This RSA key uses AES-256 encryption and a 2048-bit key.

When prompted, enter a passphrase for encrypting the private key.

Use the following command to launch OpenSSL, submit a new certificate request, and sign the request:

openssl req -new -x509 -days 3650 -extensions v3_ca -key fgcaprivkey.pem -out fgcacert.pem -config openssl.cnf

The result is a standard x509 binary certificate that is valid for 3650 days (approximately 10 years)

When prompted, re-enter the passphrase for encryption, then enter the details required for the certificate request, such as location and organization name.

Two new files are created: a public certificate (fgcacert.pem) and a private key (fgcaprivkey.pem).

2. Importing the self-signed certificate

Go to System > Certificates and select Import > Local Certificate.

Set Type to Certificate, then select your Certificate file and Key file. Enter the Password used to create the certificate.

 
The certificate now appears on the Local CA Certificates list.  

3. Editing the SSL inspection profile

To use your certificate in an SSL inspection profile go to Security Profiles > SSL/SSH Inspection. Use the drop-down menu in the top right corner to select deep-inspection, which is the profile used to apply full SSL inspection.

In FortiOS 5.6, the deep-inspection profile is read-only. In order to use your certificate for SSL inspection, you must create a new deep-inspection profile.

 

Set CA Certificate to use the new certificate.

Select Download Certificate, to download the certificate file needed in the next step.

 

4. Importing the certificate into web browsers

Once you have your self-signed certificate, you need to import the certificate into users’ browsers.

The method you use for importing the certificate varies depending on the type of browser.

Internet Explorer, Chrome, and Safari (Windows and macOS):

Internet Explorer, Chrome, and Safari use the operating system’s certificate store for Internet browsing. If users will be using these browsers, you must install the certificate into the certificate store for the OS.

 

If you are using Windows 7/8/10, double-click the certificate file and select Open. Select Install Certificate to launch the Certificate Import Wizard.

Use the wizard to install the certificate into the Trusted Root Certification Authorities store. If a security warning appears, select Yes to install the certificate.

 
 

If you are using macOS, double-click the certificate file to launch Keychain Access.

Locate the certificate in the Certificates list and select it. Expand Trust and select Always Trust. If necessary, enter the administrative password for your computer to make this change.

 

Firefox (Windows and macOS)

Firefox has its own certificate store. To avoid errors in Firefox, the certificate must be installed in this store, instead of the OS.

If users are using Firefox, instead of being pushed to all of their devices, the certificate must be installed on each device.

In Firefox, go to Tools > Options > Advanced or Options > Advanced and select the Certificates tab.

Select View Certificates, then select the Authorities list. Import the certificate and set it to be trusted for website identification.

 

5. Results

 

Before you installed the certificate, an error message would appear in users’ browsers when they accessed a site that used HTTPS (this example shows an error message in Firefox).

After you install the certificate, users should not experience a certificate security issue when they browse to sites on which the FortiGate unit performs SSL content inspection.

 
 

Users can view information about the connection and the certificate that is used.

If users view information about the connection, they will see that it is verified by Fortinet.

 
If users view the certificate in the browser, they will see the certificate that is used and information about that certificate.  

For further reading, check out SSL/SSH Inspection in the FortiOS 5.6 Handbook.

Karyn Jacobs

Technical Writer at Fortinet
Karyn Jacobs is a technical writer on the FortiOS Technical Documentation team. She has a B.A.H. in English and a B.Ed. from Queen’s University, and has worked as a technical writer for the past 20 years at various high tech companies.
  • Was this helpful?
  • Yes   No
If this page is not visible, go to System > Feature Select and turn on Certificates.
If you have the right environment, such as the Windows Group Policy Management Console, you can push the certificate to users’ browsers using the Windows Group Policy Editor. In this case, you do not have to import the certificate into users’ browsers.