Replacing the Default Brainspace Self-Signed SSL Certificates

The Brainspace application is installed with self-signed SSL certificates on all interfaces ("front side" user interface, as well as intra-server communications) to encrypt all communications. Some Brainspace customers choose to replace the default Brainspace self-signed SSL certificate with a commercial SSL certificate to have more control over the domain name and encryption level and to meet organization-specific security policy requirements.

Brainspace SSL Certificate Requirements

Important

SSL Certificate validation requires that the certificate's CN (common name) and/or one of its SANs (Subject Alternate Names) match a resolvable host name that also matches what is specified in the Services tab in the Brainspace Admin console.

For example, consider a three-server deployment of Brainspace with the following hosts and environment:

Role

Host Name

IPv4 Address

IPv6 Address

Application

brains-app

10.1.1.10

fe80::250:56ff:feb8:cdfc

On-Demand Analytics

brains-oda

10.1.1.11

fe80::250:56ff:feb8:ccfd

Analytics

brains-ana

10.1.1.12

fe80::250:56ff:feb8:ced2

DNS Domain:

example.com

Application URL:

https://brains.example.com/

If you were ordering an SSL certificate that will be used on all three hosts, you will need to include all of the following in your certificate request:

Request Field

Value

CommonName

brains.example.com

subjectAltName

DNS: brains-app

subjectAltName

DNS: brains-app.example.com

subjectAltName

IP: 10.0.0.10

subjectAltName

IP: fe80::250:56ff:feb8:cdfc

subjectAltName

DNS: brains-oda

subjectAltName

DNS: brains-oda.example.com

subjectAltName

IP: 10.0.0.11

subjectAltName

IP: fe80::250:56ff:feb8:ccfd

subjectAltName

DNS: brains-ana

subjectAltName

DNS: brains-ana.example.com

subjectAltName

IP: 10.0.0.12

subjectAltName

IP: fe80::250:56ff:feb8:ced2

subjectAltName

DNS: localhost

subjectAltName

DNS: localhost.localdomain

subjectAltName

IP: 127.0.0.1

subjectAltName

IP: ::1

Brainspace Version SSL Configuration Changes

The location for the SSL certificates, certificate format, and the HAProxy service name has changed. Please use the following table to identify the appropriate variables for your Brainspace instance.

Version

HAProxy Service Name

HAProxy Certificate File

6.0 - 6.0.x

haproxy

/etc/haproxy/brainspace_ss.pem

6.1 - 6.1.x

haproxy

/etc/haproxy/brainspace_ss.pem

6.2+

brainspace-haproxy

/etc/brainspace/ssl/brainspace_ss.pem

Note

During upgrades, the /etc/brainspace/ssl directory is archived into a brainspace_ss-backup.10-16-2019_2116.tar file. This file can be un-archived with tar -xvf brainspace_ss-backup.10-16-2019_2116.tar, and the contents will have your brainspace_ss.pem file that can be moved back in place in /etc/brainspace/ssl. Once done, the brainspace-haproxy service will need to be restarted with service brainspace-haproxy stop && service brainspace-haproxy start.

Replacing the Brainspace User Interface (HAProxy) SSL Certificate on the Application Server

The default Brainspace user interface (UI) SSL certificate is configured in HAProxy on the Application server.

Important

Run all the following commands as the Root user.

To replace the Brainspace UI (HAProxy) SSL certificate on the Application server:

  1. Convert the pfx file to crt:
    openssl pkcs12 -in <your_new_pfx_file>.pfx -clcerts -nokeys -out <your_cert_file>.crt

  2. Convert the pfx to an 'encrypted' pem file:
    openssl pkcs12 -in <your_new_pfx_file>.pfx -out <your_encrypted_pem>_encrypted.pem -nodes

  3. Convert the private key to an RSA private key:
    openssl rsa -in <your_encrypted_pem>_encrypted.pem -out <your_new_rsa_pem_file>.pem

  4. Write the new pem and crt files into the pem file haproxy will use:
    cat <your_new_rsa_pem_file>.pem <your_cert_file>.crt > /etc/brainspace/ssl/brainspace_ss.pem

  5. Restart haproxy:
    systemctl restart brainspace-haproxy

If you have issues loading the UI, contact Brainspace Support.