Enabling HTTPS
Enable HTTPS for Transformer to use secure communication.
When registered with Control Hub cloud, Transformer must use the HTTPS protocol because Control Hub cloud also uses the HTTPS protocol.
When registered with Control Hub on-premises, Transformer must use the same protocol as the Control Hub cloud on-premises installation. By default, Transformer and Control Hub on-premises use the HTTP protocol. You should use HTTPS in a production environment. HTTPS requires SSL/TLS certificates.
Prerequisites
Before you enable HTTPS for Transformer, complete the following requirements:
- Obtain access to OpenSSL and Java keytool
- If you do not have a keystore file that includes an SSL/TLS certificate signed
by a certificate authority (CA), you can request a certificate and create the
keystore file using the following tools:
- OpenSSL - Use OpenSSL to create a Certificate Signing Request (CSR) that you send to the CA of your choice, as well as to create the keystore and truststore files. For more information, see the OpenSSL documentation.
- Java keytool - You can also use Java keytool to create a CSR and to create keystore and truststore files. Java keytool is part of the Java Development Kit (JDK). For more information, see the keytool documentation.
- Generate the SSL/TLS certificate and private key pair signed by a certificate authority (CA)
- To enable HTTPS for Transformer, generate a private key and public certificate pair for Transformer. Transformer provides a self-signed certificate that you can use. However, web browsers generally issue a warning for self-signed certificates. As a best practice, generate a key and certificate pair signed by a CA.
Create a Keystore File
Create a keystore file that includes the private key and public certificate pair signed by the CA. A keystore is used to verify the identity of the client upon a request from an SSL/TLS server.
Use a certificate signed by a trusted CA. If the certificate is not signed by a trusted CA, such as a self-signed certificate, you must also add the certificate to the truststore.
Creating keystores in the PKCS #12 (p12 file) format is recommended. In most cases, a CA issues certificates in PEM format. Use OpenSSL to directly import the certificate into a PKCS #12 keystore.
Create a Truststore File
A truststore file contains certificates from trusted CAs that an SSL/TLS client uses to verify the identity of an SSL/TLS server. Transformer uses the default Java truststore file located in $JAVA_HOME/jre/lib/security/cacerts to identify Control Hub as an SSL/TLS server.
When Transformer is registered with Control Hub on-premises and the Control Hub certificates are signed by a private CA or not trusted by the default Java truststore, you must create a custom truststore file or modify a copy of the default Java truststore file. For example, if your organization generates its own certificates, you must add the root and intermediate certificates for your organization to the truststore file.
- Transformer is registered with Control Hub cloud.
- Transformer is registered with Control Hub on-premises and your certificates are signed by a trusted CA included in the default Java truststore file.
These steps show how to modify a copy of the default truststore file to add an additional CA to the list of trusted CAs. If you prefer to create a custom truststore file, see the keytool documentation.
- Java keystore file (JKS)
- PKCS #12 (p12 file)
Configure Transformer to Use HTTPS
Modify the Transformer configuration file to configure Transformer to use a secure port and your keystore file. If you created a custom truststore file or modified a copy of the default Java truststore file, configure Transformer to use that truststore file.