Application
Options
TIBCO EMS Administration
SSL Parameters
NOTE:
This section assumes you have a working knowledge of writing, compiling
and deploying Java classes.
To use SSL with your TIBCO
EMS Administration connections, you will need to create a Java class named
MyTibJmsSSLHandler that extends the com.sl.gmsjtibjmsadmin.GmsRtViewTibJmsSSLHandler
class.
In
MyTibJmsSSLHandler,
define the following method:
public
Map getSSLParams (String serverUrl)
This method will get called
to retrieve the list of SSL parameters to pass in when RTView
creates each TIBCO EMS Server Administration connection. See the TIBCO
EMS documentation for information on creating a Map of SSL parameters suitable
to pass into the TIBCO EMS Server Administration connection.
Add
gmsjtibjmsadmin.jar,
located in the lib directory (found in your installation directory),
to your classpath when you compile MyTibJmsSSLHandler.
The compiled
MyTibJmsSSLHandler class
must be included in the RTView classpath by adding it to the
definition for the RTV_USERPATH environment variable.
Example
The
following is an example of MyTibJmsSSLHandler.
To execute this example you must include the
tibjms.jar in your classpath when compiling.
import java.util.*;
import com.tibco.tibjms.TibjmsSSL;
import com.sl.gmsjtibjmsadmin.GmsRtViewTibJmsSSLHandler;
public class MyTibJmsSSLHandler extends GmsRtViewTibJmsSSLHandler
{
/** This method will get called once per connection attempt for each
* URL. It should return a Map of the SSL parameters needed to
* connect to the specified serverUrl or null if no SSL parameters
* are needed.
* @param serverUrl The String form of the URL RTView is connecting to.
*/
public Map getSSLParams (String serverUrl)
{
System.out.println("trying to connect
to:"+serverUrl);
Hashtable<String, String> h = new Hashtable<String,
String>();
// Add values common to all servers to the Hashtable.
// Modify these to contain the correct values for your server
// and add any additional SSL parameters that are requred by your servers
// or remove any SSL parameters that are not required by your servers.
// If any of these are not common to all servers, move them into
// the server specific if/else statements below.
// See com.tibco.tibjms.TibjmsSSL in the TIBCO EMS Javadocs
// for a full list of SSL parameters.
h.put(com.tibco.tibjms.TibjmsSSL.TRACE,"true");
h.put(com.tibco.tibjms.TibjmsSSL.DEBUG_TRACE, "true");
h.put(com.tibco.tibjms.TibjmsSSL.ENABLE_VERIFY_HOST_NAME, "false");
h.put(com.tibco.tibjms.TibjmsSSL.ENABLE_VERIFY_HOST, "false");
h.put(com.tibco.tibjms.TibjmsSSL.IDENTITY,"C:/tibco/config/tibco/cfgmgmt/ems/data/certs/client_identity.p12");
h.put(com.tibco.tibjms.TibjmsSSL.PASSWORD, "password");
h.put(com.tibco.tibjms.TibjmsSSL.TRUSTED_CERTIFICATES,"C:/tibco/config/tibco/cfgmgmt/ems/data/certs/client_root.cert.pem");
// add server specific values to the Hashtable
if (serverUrl.equals("ssl://myserver1:7243")) {
h.put(com.tibco.tibjms.TibjmsSSL.EXPECTED_HOST_NAME,"myserver1");
} else if (serverUrl.equals("ssl://myserver2:7243")) {
h.put(com.tibco.tibjms.TibjmsSSL.EXPECTED_HOST_NAME,"myserver2");
}
return h;
}
}
|