Created on
08-02-2023
04:02 AM
Edited on
09-15-2025
12:17 AM
By
Jean-Philippe_P
This article describes a basic understanding of certificates and some basic troubleshooting steps for a wide variety of certificate issues.
FortiGate.
FortiGate uses certificates in various ways and will need to interact with various certificates as well.
Introduction:
A certificate itself is essentially a proof of identity, and contains a variety of fields. The most relevant fields for troubleshooting are usually:
Subject: The certificate subject, usually some kind of identifier like common name (CN), a URL, or email.
Subject Alternative Name (SAN): Alternative names for the subject (Aliases), like additional DNS names or IPs.
Key Usage: What the certificate (and accompanying keypair) may be used for.
Extended Key Usage: What the certificate (and accompanying keypair) may be used for.
Validity (To/From): Start and End date the certificate is valid.
Basic Constraint: Is the certificate authority or not.
Broadly speaking, there are three different types of relevant certificates:
Certificate Authority (CA): A certificate allowed to issue/sign other certificates.
Server certificate: A certificate used by a server to prove its identity. This needs to be issued by a Certificate Authority, and is required in TLS-based communication like HTTPS or LDAPS. Extended Key Usage should include '(Web) Server Authentication'.
FortiGate uses a server certificate in various contexts:
Chain of trust: It is not always necessary to have an intermediate certificate in the certificate store.
The browser uses the chain of trust method, where the server sends the full chain of certificates, which includes the intermediate certificate, the root certificate, and the server certificate.
It also sends a hash with an intermediate certificate, which is signed by the private key of the root CA. If a browser can decrypt that hash using the root certificate's public key, it means the certificate is genuine.
Client certificate: A certificate used by a client to prove their identity. This needs to be issued by a Certificate Authority, and is required in some certificate-based authentication mechanisms, like EAP-TLS. Extended Key Usage should include 'Client Authentication'.
CRL/OCSP: CRL (Certificate Revocation List) and OCSP (Online Certificate Status Protocol) are mechanisms to allow clients to verify that certificates are still valid and not compromised in some way. CRL/OCSP is maintained by the issuing Certificate Authorities. These relevant URLs and OCSP protocol should NOT be blocked; some clients refuse to trust certificates if they cannot independently verify the certificate status via a CRL or OCSP.
Certificate management:
FortiGate allows for some Certificate Management, such as uploading CA certificates and server certificates. This is available globally and on a per-vdom basis, and might need to be enabled in System -> Feature Visibility.
A detailed guide (including how to import certificates and create new certificates (CSRs)) is available in Certificates.
The following sections are particularly relevant:
Troubleshooting:
In general, when encountering any kind of certificate errors, the following should always be checked:
For the certificate in question:
For the certificate chain:
For CRL/OCSP:
Depending on the use case, further checks can be performed.
If the issue is with a server certificate on FortiGate (GUI, API, VPN, captive portal, replacement messages):
If the issue is with a client certificate (certificate authentication against FortiGate):
If the issue is with Deep Inspection:
Useful CLI commands:
View certificates and related configuration:
show certificate ca/local/remote/crl <-- Global.
show vpn certificate ca/local/remote/crl <-- VDOM.
show user peer <-- VDOM.
show vpn ssl/ipsec [...] <-- VDOM.
show firewall ssl-ssh-profile <-- VDOM.
Debug certificate-related processes:
diagnose debug app ike -1 <-- IPsec.
diagnose debug app sslvpn -1 <-- SSL VPN.
diagnose debug app fnbamd -1 <-- General authentication.
diagnose debug app httpsd -1 <-- HTTPS-related debug.
diagnose debug wad [...] <-- Proxy-related debug, like deep inspection.
diagnose debug console timestamp enable <-- Prepend timestamps to debug messages.
diagnose debug enable <-- Enable output.
Related documents:
Technical Tip: TLS and the user of Digital Certificates.
Technical Tip: Certificate Errors when accessing a blocked page.
Technical Tip: Certificate Errors in Admin Access.
Technical Tip: Certificate warnings while accessing FortiGate.
FortiGate Cookbook: Preventing certificate warnings with Default Certificates.
Technical Tip: FortiGate PKI certificate usage guide
Technical Tip: FortiGate HTTPS/SSL Certificate Installation (PFX, PKCS12 and PEM)
Technical Tip: How does FortiGate checks the Website Certificates and allow/deny the SSL connection
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.