Generating a local certificate
In order for FortiADC to authenticate client certificates, you can either generate a certificate signing request (CSR) or upload trusted CA certificates to FortiADC.
Many commercial certificate authorities (CAs) provide websites where you can generate your own CSR. A CSR is an unsigned certificate file that the CA will sign. When a CSR is generated, the associated private key that the appliance will use to sign and/or encrypt connections with clients is also generated.
If your CA does not provide this service, or if you have your own private CA such as a Linux server with OpenSSL, you can use FortiADC to generate a CSR and private key. This CSR can then be submitted for verification and signing by the CA.
Before you begin:
- You must have Read-Write permission for System settings.
To generate a certificate signing request:
- Go to System > Manage Certificates.
- Click the Local Certificate tab.
- Click Generate to display the configuration editor.
- Configure the following settings.
Setting Description Generate Certificate Signing Request Certification Name Configuration name. Valid characters are
A
-Z
,a
-z
,0
-9
,_
, and-
. No spaces. The maximum length is 35 characters.Note: This is the name of the CSR file, not the host name/IP contained in the certificate’s
Subject:
line.Subject Information ID Type Select the type of identifier to use in the certificate to identify the virtual server:
- Host IP—The static public IP address of the FortiADC virtual server in the IP Address field. If the FortiADC appliance does not have a static public IP address, use the email or domain name options instead.
Note: Do NOT use this option if your network has a dynamic public IP address. Your web browser will display the “Unable to verify certificate” or similar error message when your public IP address changes. - Domain Name—The fully qualified domain name (FQDN) of the FortiADC virtual server, such as
www.example.com
. This does not require that the IP address be static, and may be useful if, for example, your network has a dynamic public IP address and therefore clients connect to it via dynamic DNS. Do not include the protocol specification (http://) or any port number or path names. - E-Mail—The email address of the owner of the FortiADC virtual server. Use this if the virtual server does not require either a static IP address or a domain name.
Depending on your choice for ID Type, related options appear.
IP Address Enter the static IP address of the FortiADC appliance, such as
10.0.0.1
.The IP address should be the one that is visible to clients. Usually, this should be its public IP address on the Internet, or a virtual IP that you use NAT to map to the appliance’s IP address on your private network.This option appears only if ID Type is Host IP.
Domain Name Enter the FQDN of the FortiADC appliance, such as
www.example.com
. The domain name must resolve to the IP address of the FortiADC appliance or backend server according to the DNS server used by clients. (If it does not, the clients’ browsers will display aHost name mismatch
or similar error message.)This option appears only if ID Type is Domain Name.
Email Enter the email address of the owner of the FortiADC appliance, such as admin@example.com
. This option appears only if ID Type is E-Mail.Distinguished Information Organization Unit Name of organizational unit (OU), such as the name of your department. This is optional. To enter more than one OU name, click the + icon, and enter each OU separately in each field. Organization Legal name of your organization. Locality (City) City or town where the FortiADC appliance is located. State/Province State or province where the FortiADC appliance is located. Country/Region Country where the FortiADC appliance is located. Email E-mail address that may be used for contact purposes, such as admin@example.com
.Key Information Key Type Select either of the following:
- RSA
- ECDSA
Key Size/ Curve Name For RSA key, select one of the following key sizes:
- 1024 Bit
- 1536 Bit
- 2048 Bit
- 4096 Bit.
Note: Larger keys use more computing resources, but provide better security.
For ECDSA, select one of the following curve names:
- prime256v1
- secp384r1
- secp521r1
Enrollment Information Enrollment Method - File-Based—You must manually download and submit the resulting certificate request file to a CA for signing. Once signed, upload the local certificate.
Online SCEP—The FortiADC appliance automatically uses HTTP to submit the request to the simple certificate enrollment protocol (SCEP) server of a CA, which will validate and sign the certificate. For this selection, two options appear. Enter the CA Server URL and the Challenge Password.
- Host IP—The static public IP address of the FortiADC virtual server in the IP Address field. If the FortiADC appliance does not have a static public IP address, use the email or domain name options instead.
- Click Save.
- Select the row that corresponds to the certificate request.
- Click Download.
- Upload the certificate request to your CA.
- If you are not using a commercial CA whose root certificate is already installed by default on web browsers, download your CA’s root certificate, and then install it on all computers that will be connecting to your FortiADC appliance. Otherwise, those computers might not trust your new certificate.
- After you've received the signed certificate from the CA, import the certificate into the FortiADC system.
The system creates a private and public key pair. The generated request includes the public key of the FortiADC appliance and information such as the IP address, domain name, or email address. The FortiADC appliance private key remains confidential on the FortiADC appliance. The Status column of the new CSR entry is Pending.
Standard dialogs appear with buttons to save the file at a location you select. Your web browser downloads the certificate request (.csr) file.
After you submit the request to a CA, the CA will verify the information in the certificate, give it a serial number, an expiration date, and sign it with the public key of the CA.