
|
If you were logged in you would be able to see more operations.
|
|
|
HermesJMS
Created: 20/Jan/08 05:52 PM
Updated: 25/Feb/08 07:22 AM
|
|
| Component/s: |
None
|
| Affects Version/s: |
1.12
|
| Fix Version/s: |
1.13
|
|
|
Environment:
|
Tibco EMS 4.4.1, HermesJMS 1.12, jre 1.5
|
|
|
Currently, all the SSL related parameters in the connection configuration UI for Tibco EMS are not connected to the actual factory parameters in TibjmsAdmin. Setting up an ssl://.... connection instead of tcp://.... results in the below exception to be thrown regardless of SSL configuration parameters provided.
com.tibco.tibjms.admin.TibjmsAdminException: Unable to connect to server. Root cause:
javax.jms.JMSSecurityException: Can not initialize SSL client: no trusted certificates are set
at com.tibco.tibjms.admin.MessengerUtil.<init>(MessengerUtil.java:68)
at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:222)
at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:203)
at hermes.ext.ems.TibcoEMSAdminFactory.createAdmin(TibcoEMSAdminFactory.java:97)
at hermes.ext.ems.TibcoEMSAdmin.getAdmin(TibcoEMSAdmin.java:73)
at hermes.ext.ems.TibcoEMSAdmin.discoverDestinationConfigs(TibcoEMSAdmin.java:253)
at hermes.impl.HermesAdminAdapter.discoverDestinationConfigs(HermesAdminAdapter.java:83)
at hermes.impl.DefaultHermesImpl.discoverDestinationConfigs(DefaultHermesImpl.java:1307)
at hermes.browser.tasks.DiscoverDestinationsTask.invoke(DiscoverDestinationsTask.java:76)
at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)
at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
at java.lang.Thread.run(Thread.java:595)
|
|
Description
|
Currently, all the SSL related parameters in the connection configuration UI for Tibco EMS are not connected to the actual factory parameters in TibjmsAdmin. Setting up an ssl://.... connection instead of tcp://.... results in the below exception to be thrown regardless of SSL configuration parameters provided.
com.tibco.tibjms.admin.TibjmsAdminException: Unable to connect to server. Root cause:
javax.jms.JMSSecurityException: Can not initialize SSL client: no trusted certificates are set
at com.tibco.tibjms.admin.MessengerUtil.<init>(MessengerUtil.java:68)
at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:222)
at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:203)
at hermes.ext.ems.TibcoEMSAdminFactory.createAdmin(TibcoEMSAdminFactory.java:97)
at hermes.ext.ems.TibcoEMSAdmin.getAdmin(TibcoEMSAdmin.java:73)
at hermes.ext.ems.TibcoEMSAdmin.discoverDestinationConfigs(TibcoEMSAdmin.java:253)
at hermes.impl.HermesAdminAdapter.discoverDestinationConfigs(HermesAdminAdapter.java:83)
at hermes.impl.DefaultHermesImpl.discoverDestinationConfigs(DefaultHermesImpl.java:1307)
at hermes.browser.tasks.DiscoverDestinationsTask.invoke(DiscoverDestinationsTask.java:76)
at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)
at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
at java.lang.Thread.run(Thread.java:595)
|
Show » |
|
|
Annoyingly Tibco do not provide getter methods on their connection factory so once Hermes sets anything it cannot later on "get" them. To fix this, some time ago, I used bcel to bytecode generate a wrapper that caches the properties so I can later get them. This means only java bean properties can be get/set.
This means currently the following cannot be set:
SSLProxy host and port.
SSLProxyAuth username and password
None of this works if you use JNDI to store the administered EMS connection factory. I need to work out a better way of supporting SSL for EMS but in the meantime what I've done may get you moving forward.
I do not have an SSL secured EMS server to test with just yet so cannot guarantee what I've done works but I've put a build up on http://hermesjms.com/patches for you to try.
I'll test properly when I use SSL in the next month or two...