Skip to main content
Version: 10.3.2

Update certificates

The guide describes the procedure of updating TLS certificates (server.crt, server.key, and ca.crt) on the already installed WorkFusion platform environment.

Example use cases:

  • The WorkFusion platform is installed initially with self-signed TLS certificates, and you want to apply certificates issued by your trusted SSL provider, for example, GoDaddy, Digicert, and so on.
  • Certificates used during the initial installation expired, and you want to update them.

Prerequisites

  • You have the WorkFusion platform v10.1.0 or higher installed.
  • You have the SSH access to Linux servers of the environment: Master, Agent.
  • You have RDP access to the RPA Windows server of the environment.
  • You have no running Business Processes in the environment.
  • You prepared new server.crt, server.key, and ca.crt files.

Update certificates

To update certificates:

  1. Log in to the Master server via SSH as WFUSER, and go to the directory where installer was extracted (PACKAGE_DIR):

    $ export PACKAGE_DIR=/opt/workfusion/wf_installer
    $ cd $PACKAGE_DIR
  2. Back up the current certificates:

    $ mkdir certificates_backup
    $ cp certificates/{server.crt,server.key,ca.crt} certificates_backup/
  3. Place your new server.crt, server.key, and ca.crt into the certificates directory. The certificates directory content must look as follows:

    $ ls -la certificates/
    total 24
    drwxr-xr-x. 3 ec2-user ec2-user 78 Oct 27 22:50 .
    drwxr-xr-x. 12 ec2-user ec2-user 4096 Oct 27 22:50 ..
    drwxrwxr-x. 2 ec2-user ec2-user 4096 Oct 27 22:50 _auth_internal
    -rw-r--r--. 1 ec2-user ec2-user 2984 Oct 27 22:46 ca.crt
    -rw-r--r--. 1 ec2-user ec2-user 4835 Oct 27 22:46 server.crt
    -rw-r--r--. 1 ec2-user ec2-user 1674 Oct 27 22:46 server.key

    Note: do not replace or remove files inside the _auth_internal directory. The directory contains client certificates for services intercommunication. The certificates are generated automatically before the initial installation and must not be changed.

  4. Prepare the environment variables:

    $ export ANSIBLE_PRIVATE_KEY_FILE="</path_to_ssh_key>"   # Path to SSH key for connection to all Linux servers as WFUSER
    $ export ANSIBLE_REMOTE_USER="WFUSER" # WFUSER provided in config.yml
    $ export ANSIBLE_VAULT_PASS="<ansible_vault_password>" # Password for decryption of config.yml. If you don't set this variable, you'll be prompted for password
  5. Stop all services:

    $ ./install.sh stop_services full
  6. Update certificates:

    $ ./install.sh update_certs full
  7. Start all services:

    $ ./install.sh start_services full
  8. Wait for about ten minutes for environment stabilization after services startup and check that the environment is operational:

    $ ./install.sh check full -e test_ml=true -e test_ocr=true -e test_rpa=true -e test_ie=true -e test_desktop=true

    # If you don't have OCR in the environment - don't use "-e test_ocr=true"
    # If you don't have RPA in the environment - don't use "-e test_rpa=true -e test_ie=true -e test_desktop=true"