Configuring a PKI user | Administration Guide (2024)

PKI users are users who are identified by a digital certificate they hold. Defining a PKI user in FortiOS specifies:

  • Which CA certificate to use to validate the user’s certificate
  • The field and value of the user’s certificate that FortiOS will check to verify a user

These peer users can then be used in a FortiGate user group, or as a peer certificate group used for IPsec VPN configurations that accept RSA certificate authentication.

Example X.509 certificate

The following certificate demonstrates which FortiGate settings can be used to match on different fields.

Subject:

Configuring a PKI user | Administration Guide (1)

Subject Alternative Name:

Configuring a PKI user | Administration Guide (2)

Certification path:

Configuring a PKI user | Administration Guide (3)

To configure a PKI user:
config user peer edit <name> set ca <string> set mandatory-ca-verify {enable | disable} set subject <string> set cn <string> set cn-type {string | email | FQDN | ipv4 | ipv6} set mfa-server <string> set mfa-username <string> set mfa-password <string> set mfa-mode {none | password | subject-identity} nextend

ca <string>

Specify which certificate on the FortiGate is used to validate the client’s certificate. This can be any CA in the client’s certificate chain. You may need to upload a CA certificate to the FortiGate specifically to identify PKI peer users (see CA certificate).

mandatory-ca-verify {enable | disable}

Control the action if the CA certificate used to sign the client’s certificate is not installed on the FortiGate (default = enable). Disabling this setting makes the FortiGate consider any certificate presented by the peer as valid.

In the example certificate, the certification path shows that VF_CA signed jcarrey’s certificate.

subject <string>

Enter the peer certificate name constraints.

cn <string>

Enter the peer certificate common name.

cn-type {string | email | FQDN | ipv4 | ipv6}

Set the peer certificate common name type: string, email, FQDN, IPv4 address, or IPv6 address. See CN for more details.

mfa-server <string>

Enter the name of a multi-factor authentication server defined under config user ldap for performing client access rights checks. See LDAP servers for more details.

mfa-mode {none | password | subject-identity}

Set the mode for remote peer authentication, either by password or subject identity extracted from certificate. See LDAP for more details.

mfa-username <string>

Enter the username for the remote multi-factor authentication server bind when the MFA mode is password.

mfa-password <string>

Enter the password for the multi-factor authentication server bind when the MFA mode is password.

Identifying users based on their client certificate

When the client’s certificate is valid, or mandatory-ca-verify is disabled, the FortiGate can then inspect the certificate to check specific fields for matching values. There are three ways of specifying which certificate field to verify: by subject, CN, or LDAP. All string comparisons are case sensitive.

Subject

This basic method verifies that the subject string defined in the PKI user setting matches a value or substring in the subject field of the user certificate. Further matching is controlled in the following VPN certificate settings.

config vpn certificate setting set subject-match {substring | value} set subject-set {superset | subset} set cn-match {substring | value} set cn-allow-multi {enable | disable}end

subject-match {substring | value}

Control how to do relative distinguished name (RDN) value matching with the certificate subject name:

  • substring: find a match if any string in the certificate subject name matches the name being searched for (such as set subject jcarrey).
  • value: find a match if any attribute value string in a certificate subject name is an exact match with the name being searched for (such as set subject "OU=TAC" or set subject "C=CA, CN=jcarrey, OU=TAC").

set subject-set {superset | subset}

Control how to do RDN value matching with the certificate subject name:

  • superset: a certificate only passes verification if it contains all the RDNs defined in the subject settings (such as set subject "E = jcarrey@fortinet.com, CN = jcarrey, OU = TAC, O = Fortinet, L = Burnaby, S = British Columbia, C = CA").
  • subset: a certificate passes verification if the RDN is a subset of the certificate subject (such as set subject "CN = jcarrey, OU = TAC").

cn-match {substring | value}

Control how to do CN value matching with the certificate subject name:

  • substring: find a match if any string in the certificate subject name matches the name being searched for.
  • value: find a match if any attribute value string in a certificate subject name is an exact match with the name being searched for.

cn-allow-multi {enable | disable}

Enable/disable allowing multiple CN entries with the certificate subject name (default = enable).

CN

Common name (CN) certificate verification compares the CN in the subject field with the configured string (such as set cn "jcarrey". The following logic is used when configuring different CN types:

Type

Action

string

Based on the cn-match setting, perform a substring or exact match in the certificate subject.

email

Look for a match in the certificate subject.

FQDN

Look for a match in the certificate subject, then compare the mapped IP and client IP. The FQDN is only retrieved from the CN.

ipv4

Look for a match in the certificate subject, then compare the IP.

ipv6

Look for a match in the certificate subject, then compare the IP.

The CN type also controls the format checking of the CN string. In this example, if the CN type is set to email, the CN must be in email format (set cn "jcarrey@fortinet.com").

LDAP

LDAP-integrated user authentication allows the FortiGate to check the connecting user against an LDAP server in two ways: through a username and password, or the certificate’s principal name. The password method requires the username and password of each authenticating user to be entered, so it is not recommended when configuring PKI users. The subject-identity method is recommended.

The UPN in the user certificate’s Subject Alternative Name (SAN) field is used to look up the user in the LDAP directory. The SAN in the certificate for UPN matching can the UPN on the AD LDAP server (default), RFC 822 Name (corporate email address), or DNS name. If a match is found, then authentication succeeds. This type of configuration scales well since only one PKI user needs to be created on the FortiGate. Connecting clients use their unique user certificate to match within the configured LDAP server. See Using the SAN field for LDAP-integrated certificate authentication for an example.

Configuring a PKI user | Administration Guide (2024)

FAQs

How to configure PKI? ›

Click the Configuration tab and go to Authentication > Public Key > Certificates. The server is configured by default to connect to a PKI Services manager on the local host. Click Edit. For PKI server, specify your PKI Services Manager host name or IP address.

Does PKI use LDAP? ›

When using Lightweight Directory Access Protocol (LDAP) to authenticate users, you can use a public key infrastructure (PKI) to secure access to your portal. To use LDAP and PKI, you must set up PKI-based client certificate authentication using ArcGIS Web Adaptor (Java Platform) deployed to a Java application server.

What is a PKI user? ›

A PKI user can be either an email user or a FortiMail administrator. When the PKI user connects to the FortiMail unit with his or her web browser, the web browser presents the PKI user's certificate to the FortiMail unit. If the certificate is valid, the FortiMail unit then authenticates the PKI user.

How to build your own public key infrastructure? ›

How can you set up a public key infrastructure (PKI) for network security?
  1. Generate a root certificate authority (CA)
  2. Create intermediate CAs and end entity certificates.
  3. Distribute and store certificates and keys.
  4. Validate and revoke certificates.
  5. Monitor and audit your PKI.
  6. Update and improve your PKI.
Sep 27, 2023

How does PKI work step by step? ›

First, a private key is created, which is used to calculate the public key. Then, the CA requires the private key owner's attributes presented for verification. After that, the public key and the owner's attributes are encoded into a digital signature known as a certificate signing request (CSR).

What is PKI system structure? ›

The CA on the top of the hierarchy is the root CA and the others are subordinate CAs. The root CA is the first CA (trustpoint) in the PKI system. It issues certificates to subordinate CAs, computers, users, and services. In most certificate-based applications, the root CA can be traced through the certificate chain.

How does Active Directory implement PKI? ›

Active Directory Certificate Services or AD CS is used to establish an on-premises Public Key Infrastructure (PKI). It has the ability to create, validate and revoke public key certificates. These certificates have various uses such as encrypting files, emails, network traffic.

What protocol does PKI use? ›

One of the most common uses of PKI is the TLS/SSL (transport layer security/secure socket layer), which secures encrypted HTTP (hypertext transfer protocol) communications. Website owners will obtain a digital certificate from a trusted CA.

Does PKI use digital certificates? ›

With a PKI infrastructure, you can use digital certificates to authenticate users and devices, and to encrypt data in transit. This makes it more difficult for attackers to intercept communications and steal sensitive information, thereby reducing the risk of phishing and other social engineering attacks.

What is an example of a PKI? ›

A prime example of PKI in communication is secure email. S/MIME (Secure/Multipurpose Internet Mail Extensions) uses digital certificates to encrypt emails. Both sender and recipient need a trusted CA-signed certificate.

What are two components of a PKI? ›

Components of a PKI
  • Certificate authority (CA) - Issues an entity's certificate and acts as a trusted component within a private PKI. ...
  • Certificate - A digital document, signed by a CA, and used to prove the owner of a public key, within a PKI.

Is PKI still used? ›

Today, organizations rely on PKI to manage security through encryption. Specifically, the most common form of encryption used today involves a public key, which anyone can use to encrypt a message, and a private key (also known as a secret key), which only one person should be able to use to decrypt those messages.

How to configure a PKI certificate? ›

  1. Create and issue the web server certificate template on the certification authority.
  2. Request the web server certificate.
  3. Configure IIS to use the web server certificate.
  4. Create and issue a custom web server certificate template on the certification authority.
  5. Request the custom web server certificate.
Oct 3, 2022

How do I create a public key for a user? ›

To generate an SSH private/public key pair for your use, you can use the ssh-keygen command-line utility. You can run the ssh-keygen command from the command line to generate an SSH private/public key pair. If you are using Windows, by default you may not have access to the ssh-keygen command.

What are 4 key components of the public key infrastructure PKI framework? ›

Elements for making a PKI
  • Private and Public Keys. PKI uses these asymmetric keys to establish and secure an encrypted connection over the network using asymmetric encryption.
  • Public Key Certificates. ...
  • Certificate Authority. ...
  • Registration Authority (RA) ...
  • Secure storage. ...
  • Certificate Repository. ...
  • Automating PKI Operations.

How to generate a PKI? ›

How to get a PKI certificate
  1. Request the certificate online. The first step in getting a PKI certificate is typically to request one online. ...
  2. Install the PKI certificate. When you receive approval for a PKI certificate, the source usually sends it to you via email. ...
  3. Calibrate the security settings.
Feb 3, 2023

How do I enable PKI in Chrome? ›

How do I enable PKI component in Chrome?
  1. Open the Control Panel.
  2. Click on "Internet Options."
  3. Click on the "Content" tab.
  4. Click on the "Certificates" button.
  5. Click on the "Import" button.
  6. Follow the prompts to import the certificate into your certificate store.

What is the format of PKI? ›

These identities are stored in a standard X. 509 digital public key certificate format. Certification authorities (CAs) represent the people, processes, and tools to create digital certificates that securely bind the names of users to their public keys. In creating certificates, CAs act as agents of trust in a PKI.

Top Articles
Latest Posts
Article information

Author: Lilliana Bartoletti

Last Updated:

Views: 5985

Rating: 4.2 / 5 (53 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Lilliana Bartoletti

Birthday: 1999-11-18

Address: 58866 Tricia Spurs, North Melvinberg, HI 91346-3774

Phone: +50616620367928

Job: Real-Estate Liaison

Hobby: Graffiti, Astronomy, Handball, Magic, Origami, Fashion, Foreign language learning

Introduction: My name is Lilliana Bartoletti, I am a adventurous, pleasant, shiny, beautiful, handsome, zealous, tasty person who loves writing and wants to share my knowledge and understanding with you.