Tutorial: Configure External PKI with Easy-RSA⁠

Overview⁠

The Access Server external public key infrastructure (PKI) feature integrates Access Server with third-party tools for X.509 PKI management instead of using the built-in certificate management capabilities.

When configured for external PKI usage, Access Server doesn't manage client certificates directly; instead, the customer's third-party PKI software generates and distributes client certificate/key pairs to client machines and a server certificate/key pair to the OpenVPN server.

This tutorial shows you how to set up an external PKI using Easy-RSA.

At a high level, these are the steps for your configuration:

  1. Modify as.conf to set Access Server in external PKI mode.

  2. Initiate Easy-RSA.

  3. Generate the CA key and certificate via Easy-RSA commands.

  4. Generate the server key and certificate via Easy-RSA commands.

  5. Generate the client key, certificate, and P12 file via Easy-RSA and OpenSSL commands.

  6. Create the TLS_auth key.

  7. Generate Diffie-Hellman parameters.

  8. Import the necessary certificate and key files to Access Server.

  9. Provide certificate/key pairs in a P12/PFX file to the VPN client.

  10. Generate and download a server-locked profile for the client.

Prerequisites⁠

  • An installed Access Server.

  • A machine with Easy-RSA and OpenSSL installed. This could be the same Linux where Access Server is installed or an external machine.

  • Console access and the ability to get root access.

  • An OpenVPN client that supports the macOS Keychain and Windows certificate store.

Ensure you have Easy-RSA installed:

  • For Ubuntu/Debian:

    sudo apt update
    sudo apt install easy-rsa
  • For RHEL:

    sudo yum install epel-release
    sudo yum install easy-rsa