| Products | Versions |
|---|---|
| TIBCO Live Datamart | 10.6 and later |
What are the basic steps needed to configure SSL connections for LiveView clients?
> keytool -list -V -keystore mykeystore -storepass mypassword Keystore type: jks Keystore provider: SUN Your keystore contains 1 entry Alias name: myalias Creation date: Jun 16, 2016 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=localhost, OU=liveview, O=myorganization, L=mylocality, ST=mystate, C=USHere, the CN is 'localhost'.
LDMEngine = {
systemProperties = {
"liveview.ssl.hostname" = "localhost"
}
}
3.) A LiveView Client API Listener configuration. Here, we set the LV port number and the 'secureCommunicationProfileName', which forces clients to connect using a secure communication profile.
ClientAPIListener = {
portNumber = 11080
secureCommunicationProfileName = "MyServerTLSProfile"
}
4.) A secure communications profile for the LV server, where details on the server's keystore are configured. If using 2-way SSL/TLS (where clients need to provide their own identity/certificate to the LV server), then this profile will also have details about the LV server's trust store (where trusted client issuer certificates are stored).
SecureCommunicationServerProfile = {
name = "MyServerTLSProfile"
keyStore = "C:/stores/mykeystore" // to hold server keys and certificates
keyStorePassword = "mypassword"
keyPassword = "mypassword"
keyStoreType = "JKS"
trustStore = "C:/stores/mytruststore" // to hold trusted client issuer (root CA) certificates (for 2-way SSL only)
trustStorePassword = "mypassword"
trustStoreType = "JKS"
requireClientAuthentication = false
}
Note that the name in the SecureCommunicationServerProfile configuration, 'MyServerTLSProfile', needs to match the name specified in the ClientAPIListener configuration above.
SecureCommunicationClientProfile = {
name = "MyClientTLSProfile"
keyStore = "C:/stores/clientkeystore" // to hold client keys and certificates (for 2-way SSL only)
keyStorePassword = "mypassword"
keyPassword = "mypassword"
keyStoreType = "JKS"
trustStore = "C:/stores/clienttruststore" // to hold trusted LV server issuer (root CA) certificates
trustStorePassword = "mypassword"
trustStoreType = "JKS"
requireClientAuthentication = false
}
6.) A LiveView Internal Credentials configuration. This is required to secure LV internal connections. This contains the property 'ldmSecureInternalCommunicationProfileName', which is set to the client TLS configuration name.
InternalCredentials = {
ldmSecureInternalCommunicationProfileName = "MyClientTLSProfile"
}
Note that the name in the InternalCredentials configuration, 'MyClientTLSProfile', needs to match the name specified in the SecureCommunicationClientProfile above.