Prepare TLS certificates
Before installation of Workfusion SPA, the TLS certificates must be placed to the INT server.
See the detailed description of certificates...
The following table describes all certificates that are required to install Workfusion SPA:
Nginx Certificates
| File names | Description |
|---|---|
| ca.crt | The Root CA certificate in the pem format. All following certificates in this table must be signed by this Root CA. It is imported into Java Truststore on all servers. Certificate file must include only Root cert, without any intermediate certs. |
| The certificate and its private key files in the pem format for the APP server. Used by nginx on the APP server.
|
| The certificate and its private key files in the pem format for S3 proxy located on the APP server. Used by nginx on the APP server.
|
| The certificate and its private key files in the pem format for the INT server. Used by nginx on the INT server.
|
| The certificate and its private key files in the pem format for the OCR server. Used by nginx on OCR server.
|
| The certificate and its private key files in the pem format for the BI server. Used by Tableau on BI server.
|
| The certificate and its private key files in the pem format for the RPA server. Used by nginx on RPA server(s).
|
| Optional, required if OCR platform is Windows. The certificate and its private key files in the pem format for the OCR Windows server. Used by nginx on the OCR Windows server.
|
| The certificate and its private key files in the pem format for the BEP Master server. Used by nginx and mesos on the BEP Master server.
|
| The certificate and its private key files in the pem format for the BEP Agent server(s). Used by mesos on the BEP Agent server(s).
|
Prerequisites
Hostnames of all your servers are in a single domain. For example, in hosts.yml, you have the following hostnames:
int_hostname: int.example.com app_hostname: app.example.com ocr_hostname: ocr.example.com bi_hostname: bi.example.com bep_master_hostname: automlmaster.example.com bep_agent_hostname: automlagent.example.com s3_hostname: app-s3.example.comYou have received the following certificates from your SSL provider:
ca.crt # contains ROOT CA certificate in pem format (the file may have .crt, .cer, .pem, or .cert extension) intermediate.crt # contains intermediate CA certificate in pem format signed by ROOT CA certificate (the file may have .crt, .cer, .pem, or .cert extension) domain.crt # contains wildcard server certificate in pem format signed by intermediate CA certificate issued for wildcard CommonName *.example.com (the file may have .crt, .cer, .pem, or .cert extension) domain.key # contains private key file for domain.crt certificate in pem format (the file may have .key, or .pem extension). This file should have been generated initially with CSR.
Install certificates
Append intermediate.crt to domain.crt certificate:
$ cat intermediate.crt >> domain.crtOrder does matter. File domain.crt must be the first. If you have several intermediate CA certs, you need to bundle all of them. Each subsequent intermediate cert that is added to the file must be signed by the previous one. If you don't have any intermediate CA certs, you don't need the earlier step.
Place the following trusted certificates (if you have them) to the PACKAGE_DIR/certificates directory on the INT server:
- ca.crt
- app.crt
- app.key
- s3.crt
- s3.key
- int.crt
- int.key
- ocr.crt
- ocr.key
- bi.crt
- bi.key
- rpa.crt
- rpa.key
- bep_master.crt
- bep_master.key
- bep_agent.crt
- bep_agent.key
The certificates must mandatory have the names specified earlier.
If in PACKAGE_DIR/certificates, you have:All required certificates – make sure they are named correctly, and then go to step 3.
Only some certificates, including ca.crt. The missing certificates can be generated on the basis of the existing one. To generate other required certificates, go to step 3.
No certificates at all – you can generate all the required certificates automatically. For that:
In hosts.yml, specify hostnames for all servers.
Note: a сertificate won't be created, if a respective hostname is not set in hosts.yml.
Go to step 3.
Generate the certificates by running the following command:
$ ./install.sh certs generateThe script generates all certificates that are required for product operation and places them to the PACKAGE_DIR/certificates directory.
-rw-rw-r--. 1 ec2-user ec2-user 1424 Jun 3 12:15 elk-ca.crt -rw-rw-r--. 1 ec2-user ec2-user 1766 Jun 3 12:15 elk-ca.key -rw-rw-r--. 1 ec2-user ec2-user 1757 Jun 3 12:15 kibana.crt -rw-rw-r--. 1 ec2-user ec2-user 3272 Jun 3 12:15 kibana.key -rw-rw-r--. 1 ec2-user ec2-user 1761 Jun 3 12:15 logstash.crt -rw-rw-r--. 1 ec2-user ec2-user 3272 Jun 3 12:15 logstash.key -rw-rw-r--. 1 ec2-user ec2-user 4013 Jun 3 12:15 logstash.p12 -rw-rw-r--. 1 ec2-user ec2-user 1428 Jun 3 12:49 mtls-ca.crt -rw-rw-r--. 1 ec2-user ec2-user 1766 Jun 3 12:49 mtls-ca.key -rw-rw-r--. 1 ec2-user ec2-user 1769 Jun 3 12:49 mtls-client.crt -rw-rw-r--. 1 ec2-user ec2-user 3272 Jun 3 12:49 mtls-client.key -rw-rw-r--. 1 ec2-user ec2-user 1298 Jun 3 12:15 vault_admin.crt -rw-rw-r--. 1 ec2-user ec2-user 2517 Jun 3 12:15 vault_admin.p12 -rw-rw-r--. 1 ec2-user ec2-user 1298 Jun 3 12:15 vault_workfusion.crt -rw-rw-r--. 1 ec2-user ec2-user 2517 Jun 3 12:15 vault_workfusion.p12These certificates are used by internal services.
note
The script will not override the existing certificates, if a file with the same name exists in the /certificates directory.