Fortinet white logo
Fortinet white logo

Handbook

Validating certificates

Validating certificates

This section discusses the ways to validate client certificates and real server certificates from within the FortiADC system. It covers the following topics:

Configure a certificate verification object

To be valid, a client certificate must meet the following criteria:

  • Must not be expired or not yet valid
  • Must not be revoked by either certificate revocation list (CRL) or, if enabled, online certificate status protocol (OCSP)
  • Must be signed by a certificate authority (CA) whose certificate you have imported into the FortiADC appliance

Certificate verification rules specify the CA certificates to use when validating client certificates, and they specify a CRL and/or OCSP server, if any, to use for certificate revocation checking.

You select a certificate verification configuration object in the profile configuration for a virtual server or in a real-server-SSL profile. If the client presents an invalid certificate during the authentication phase of a SSL/TLS session initiation, the FortiADC system will not allow the connection.

Before you begin:

  • You must have Read-Write permission for System settings.
  • You must have already created CA, OCSP or CRL configuration.

After you have configured a certificate verification object, you can include it in a virtual server profile or a Real Server SSL Profile, and it will be used to validate certificates presented to FortiADC.

Note: For the same certificate object you can configure multiple CRL files.
To configure a certificate verification object:
  1. Go to System > Certificate > Verify.
  2. Click Create New to display the configuration editor.
  3. Complete the configuration as described in Certificate verify configuration.
  4. Click Save when done. The newly certificate verification object appears on the Verify page.
  5. Click the Edit icon in the far-right column (or double-click the entry) to open the configuration editor.
  6. In the Group Member panel, select the CA, OCSP, or CRL of interest.
  7. Click Save when done.

Certificate verify configuration

Settings Guidelines
Name

Enter a unique name for the certificate verification object that you are creating. Valid characters are A-Z, a-z, 0-9, _, and -. The maximum length is 35 characters. No space is allowed.

verify-depth

Note: CLI only.

The default value is 1, but you may select any value from 0 to 255.

customize-error-ignore

Note: This option is available from the CLI only.

Enable or disable customize-error-ignore. The option is disabled by default. If it's enabled, you are required to select the ca-ignore-errors and cert-ignore-errors, as described below.

ca-ignore-errors

Note: CLI only. When customize-error-ignore is enabled, the following options become available for you to choose from:

  • UNABLE_TO_GET_ISSUER_CERT
  • UNABLE_TO_GET_CRL
  • CERT_NOT_YET_VALID
  • CERT_HAS_EXPIRED
  • CRL_NOT_YET_VALID
  • CRL_HAS_EXPIRED
  • DEPTH_ZERO_SELF_SIGNED_CERT
  • SELF_SIGNED_CERT_IN_CHAIN
  • UNABLE_TO_GET_ISSUER_CERT_LOCALLY
  • UNABLE_TO_VERIFY_LEAF_SIGNATURE
  • CERT_CHAIN_TOO_LONG
  • INVALID_CA
  • INVALID_PURPOSE
  • CERT_UNTRUSTED
  • CERT_REJECTED

Note: If customize-error-ignore is disabled (by default), the CLI shows the following:

ca-ignore-errors: UNABLE_TO_GET_ISSUER_CERT UNABLE_TO_GET_CRL CERT_UNTRUSTED

cert-ignore-errors

Note: CLI only. When customize-error-ignore is enabled, the following options become available for you to choose from:

  • UNABLE_TO_GET_ISSUER_CERT
  • UNABLE_TO_GET_CRL
  • CERT_NOT_YET_VALID
  • CERT_HAS_EXPIRED
  • CRL_NOT_YET_VALID
  • CRL_HAS_EXPIRED
  • DEPTH_ZERO_SELF_SIGNED_CERT
  • SELF_SIGNED_CERT_IN_CHAIN
  • UNABLE_TO_GET_ISSUER_CERT_LOCALLY
  • UNABLE_TO_VERIFY_LEAF_SIGNATURE
  • CERT_CHAIN_TOO_LONG
  • INVALID_CA
  • INVALID_PURPOSE
  • CERT_UNTRUSTED
  • CERT_REJECTED

Note: If customize-error-ignore is disabled (by default), the CLI shows the following:

cert-ignore-errors: UNABLE_TO_GET_CRL

Group Member
CA Select a CA (Required).
OCSP Select an OCSP (Optional).
CRL Select a CRL (Optional).

Validating certificates

Validating certificates

This section discusses the ways to validate client certificates and real server certificates from within the FortiADC system. It covers the following topics:

Configure a certificate verification object

To be valid, a client certificate must meet the following criteria:

  • Must not be expired or not yet valid
  • Must not be revoked by either certificate revocation list (CRL) or, if enabled, online certificate status protocol (OCSP)
  • Must be signed by a certificate authority (CA) whose certificate you have imported into the FortiADC appliance

Certificate verification rules specify the CA certificates to use when validating client certificates, and they specify a CRL and/or OCSP server, if any, to use for certificate revocation checking.

You select a certificate verification configuration object in the profile configuration for a virtual server or in a real-server-SSL profile. If the client presents an invalid certificate during the authentication phase of a SSL/TLS session initiation, the FortiADC system will not allow the connection.

Before you begin:

  • You must have Read-Write permission for System settings.
  • You must have already created CA, OCSP or CRL configuration.

After you have configured a certificate verification object, you can include it in a virtual server profile or a Real Server SSL Profile, and it will be used to validate certificates presented to FortiADC.

Note: For the same certificate object you can configure multiple CRL files.
To configure a certificate verification object:
  1. Go to System > Certificate > Verify.
  2. Click Create New to display the configuration editor.
  3. Complete the configuration as described in Certificate verify configuration.
  4. Click Save when done. The newly certificate verification object appears on the Verify page.
  5. Click the Edit icon in the far-right column (or double-click the entry) to open the configuration editor.
  6. In the Group Member panel, select the CA, OCSP, or CRL of interest.
  7. Click Save when done.

Certificate verify configuration

Settings Guidelines
Name

Enter a unique name for the certificate verification object that you are creating. Valid characters are A-Z, a-z, 0-9, _, and -. The maximum length is 35 characters. No space is allowed.

verify-depth

Note: CLI only.

The default value is 1, but you may select any value from 0 to 255.

customize-error-ignore

Note: This option is available from the CLI only.

Enable or disable customize-error-ignore. The option is disabled by default. If it's enabled, you are required to select the ca-ignore-errors and cert-ignore-errors, as described below.

ca-ignore-errors

Note: CLI only. When customize-error-ignore is enabled, the following options become available for you to choose from:

  • UNABLE_TO_GET_ISSUER_CERT
  • UNABLE_TO_GET_CRL
  • CERT_NOT_YET_VALID
  • CERT_HAS_EXPIRED
  • CRL_NOT_YET_VALID
  • CRL_HAS_EXPIRED
  • DEPTH_ZERO_SELF_SIGNED_CERT
  • SELF_SIGNED_CERT_IN_CHAIN
  • UNABLE_TO_GET_ISSUER_CERT_LOCALLY
  • UNABLE_TO_VERIFY_LEAF_SIGNATURE
  • CERT_CHAIN_TOO_LONG
  • INVALID_CA
  • INVALID_PURPOSE
  • CERT_UNTRUSTED
  • CERT_REJECTED

Note: If customize-error-ignore is disabled (by default), the CLI shows the following:

ca-ignore-errors: UNABLE_TO_GET_ISSUER_CERT UNABLE_TO_GET_CRL CERT_UNTRUSTED

cert-ignore-errors

Note: CLI only. When customize-error-ignore is enabled, the following options become available for you to choose from:

  • UNABLE_TO_GET_ISSUER_CERT
  • UNABLE_TO_GET_CRL
  • CERT_NOT_YET_VALID
  • CERT_HAS_EXPIRED
  • CRL_NOT_YET_VALID
  • CRL_HAS_EXPIRED
  • DEPTH_ZERO_SELF_SIGNED_CERT
  • SELF_SIGNED_CERT_IN_CHAIN
  • UNABLE_TO_GET_ISSUER_CERT_LOCALLY
  • UNABLE_TO_VERIFY_LEAF_SIGNATURE
  • CERT_CHAIN_TOO_LONG
  • INVALID_CA
  • INVALID_PURPOSE
  • CERT_UNTRUSTED
  • CERT_REJECTED

Note: If customize-error-ignore is disabled (by default), the CLI shows the following:

cert-ignore-errors: UNABLE_TO_GET_CRL

Group Member
CA Select a CA (Required).
OCSP Select an OCSP (Optional).
CRL Select a CRL (Optional).