TLS/SSL Configuration
Union Platform supports encrypted communications via the and TLS/SSL protocols over both HTTPS and WSS (WebSocket Secure). TLS/SSL support was added in version 2.1.0.
To configure Union for TLS/SSL communications, follow these steps:
1) Import TLS/SSL Certificate into Keystore
Shut down Union Server, then follow Oracle's Key and Certificate Management Tool documentation to import your certificate into a keystore.
2) Configure Secure Gateway
Create a new Union Server gateway, and configure it as follows:
- Set gateway type to SecureTCP
- In the <keystore_file> tag, specify the path to the keystore file where the certificate was imported
- In the <keystore_password> tag, specify the password to the keystore file
The following example excerpt from Union Server's union.xml configuration file demonstrates how to configure a secure gateway:
<gateway id="SecureGateway" type="SecureTCP"> <ip>example.com</ip> <port>443</port> <policy_file>policy.xml</policy_file> <keystore_file>/root/.keystore</keystore_file> <keystore_password>password</keystore_password> </gateway>
The SecureTCP gateway communicates using TLS/SSL only; therefore, clients connecting to this gateway must be able to communicate using TLS/SSL. Clients that do not communicate using TLS/SSL will be disconnected.
Union Server can run both SecureTCP gateways and other non-secure gateways at the same time. For example, the following union.xml:
<gateways> <gateway id="PrimaryGateway" type="TCP"> <ip>example.com</ip> <port>80</port> <policy_file>policy.xml</policy_file> </gateway> <gateway id="SecureGateway" type="SecureTCP"> <ip>example.com</ip> <port>443</port> <policy_file>policy.xml</policy_file> <keystore_file>/root/.keystore</keystore_file> <keystore_password>password</keystore_password> </gateway> </gateways>
3) Connect Using Secure Client Connections
In Orbiter and OrbiterMicro (Union's JavaScript client frameworks), the Orbiter class defines a secureConnect() method used to create WSS and HTTPS connections to Union Server. In Reactor (Union's ActionScript client framework) the Reactor class defines secureConnect(). To communicate with Union Server over TLS/SSL, use those methods instead of the standard connect() method. For more information, see each client framework's API documentation.