Thanks for your help. I've solved it, seems the truststore certificate needs to reside in the same directory as the xmlBlaster.jar!
Regards Sherif Quoting Marcel Ruff <[EMAIL PROTECTED]>: > [EMAIL PROTECTED] wrote: > > I have followed the instructions, and i can get a successful execution > using the > > HelloWorld3 code, but when I try to use my own code I get this error > (snippet): > > > Probably your command line args with the configuration are not properly > passed to Global? > You can also try to give the parameters directly to the JVM like > java -Dbla=blu <your client> > as done by the SUN SSL tutorials, > > regards > Marcel > > Client: > > > > [14-Aug-2006 14:12:46 [32;40mINFO [0m main > > JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155561165920] > > Successfully reconnected to database > > [14-Aug-2006 14:12:46 [32;40mINFO [0m main > > JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155561165920] > > Connections to DB 'jdbc:hsqldb:/home/sy99/tmp/clientsy991155561165920' > > successfully established. > > [14-Aug-2006 14:12:46 [32;40mINFO [0m main ClientEntryFactory] > successfully > > initialized > > [14-Aug-2006 14:12:46 [32;40mINFO [0m main JdbcManagerCommonTable] The > maximum > > SQL statement length is not defined in JDBC meta data, we set it to 2048 > > [14-Aug-2006 14:12:47 [32;40mINFO [0m main > > JdbcManagerCommonTable-XB_-tablesCheckAndSetup()] adding table 'XB_ENTRIES' > as > > the 'entries' table > > [14-Aug-2006 14:12:47 [33;40mWARN [0m main SocketUrl] SSL client socket > is > > enabled but no keyStorePassword is specified, see > > > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL > > [14-Aug-2006 14:12:47 [32;40mINFO [0m main SocketUrl] SSL client socket > > enabled, trustStore=/home/sy99/diadem/xmlBlasterClient.truststore > > [14-Aug-2006 14:12:47 [33;40mWARN [0m main SocketUrl] SSL client socket > is > > enabled but i can't read keyStore=, see > > > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL > > [14-Aug-2006 14:12:47 [32;40mINFO [0m main SocketConnection] socket_ssl > SSL > > client connected to 'socket://192.168.1.10:7609', callback address is > > 'socket://192.168.1.10:33581' useUdpForOneway=false > > [14-Aug-2006 14:12:47 [32;40mINFO [0m main > > DispatchConnection-connection:client/sy991155561166158] Connection > 'socket_ssl' > > transition UNDEF -> ALIVE: Success, connection:client/sy991155561166158 > connected. > > [14-Aug-2006 14:12:47 [32;40mINFO [0m main > > DispatchManager-connection:client/sy991155561166158] Switched to > synchronous > > message delivery > > [14-Aug-2006 14:12:48 [32;40mINFO [0m main SocketExecutor] Full stream > > compression enabled with 'zlib:stream' > > [14-Aug-2006 14:12:48 [32;40mINFO [0m main XmlBlasterAccess-client/sy99] > > Callback settings: type=CACHE onOverflow=deadMessage onFailure=deadMessage > > maxEntries=1000 type=socket_ssl oneway=false dispatcherActive=true > > burstMode.collectTime=0 > > [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.socket_ssl > > SocketCallbackImpl-sy99] Started callback receiver plugin on > > 'socket://192.168.1.10:33581' > > [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.socket_ssl > > SocketCallbackImpl-sy99] Closing connection to server, please try debugging > SSL > > with 'java -Djavax.net.debug=all ...': javax.net.ssl.SSLException: > > java.lang.RuntimeException: Unexpected error: > > java.security.InvalidAlgorithmParameterException: the trustAnchors > parameter > > must be non-empty > > [14-Aug-2006 14:12:48 [33;40mWARN [0m main SocketCallbackImpl-sy99] There > are > > 1 messages pending without a response, request IDs are sy99:1 > > [14-Aug-2006 14:12:48 [33;40mWARN [0m main > > DispatchConnection-connection:client/sy991155561166158] Connection > transition > > ALIVE -> POLLING: socket://192.168.1.10:7609 is unaccessible, we poll for > it > > every 5000 msec: errorCode=communication.noConnection message=#exported > login > > failed : java.net.SocketException: Socket is closed > > [14-Aug-2006 14:12:48 [32;40mINFO [0m main > > DispatchManager-connection:client/sy991155561166158] Switched to > asynchronous > > message delivery > > errorCode=user.configuration message=#exported Can't find an xmlBlaster > server. > > Try to provide the server host/port as described in > > > http://www.xmlblaster.org/xmlBlaster/doc/requirements/client.configuration.html > > or provide a public session ID to support polling for xmlBlaster without > an > > initial connection. See > > > 'http://www.xmlBlaster.org/xmlBlaster/doc/requirements/client.failsafe.html' > for > > more details. > > at > > > org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler.createFakedReturnObjects(ClientDispatchConnectionsHandler.java:138) > > at > > > org.xmlBlaster.util.dispatch.DispatchManager.handleSyncWorkerException(DispatchManager.java:382) > > at > org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:83) > > at > org.xmlBlaster.util.dispatch.DispatchManager.putPre(DispatchManager.java:530) > > at > > > org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:457) > > at > > > org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:437) > > at > org.xmlBlaster.client.XmlBlasterAccess.queueMessage(XmlBlasterAccess.java:731) > > at > org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:298) > > > > ... > > > > [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.PingTimer SocketUrl] > SSL > > client socket is enabled but no keyStorePassword is specified, see > > > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL > > [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.PingTimer SocketUrl] > SSL > > client socket is enabled but i can't read keyStore=, see > > > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL > > [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.PingTimer > SocketConnection] > > socket_ssl SSL client connected to 'socket://192.168.1.10:7609', your > configured > > local parameters are localHostname=192.168.1.10 on localPort=33581 > > useUdpForOneway=false > > [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.PingTimer > SocketExecutor] > > Full stream compression enabled with 'zlib:stream' > > [14-Aug-2006 14:12:48 [32;40mINFO [0m XmlBlaster.socket_ssl > > SocketCallbackImpl-dummyLoginName] Started callback receiver plugin on > > 'socket://192.168.1.10:33581' > > [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.socket_ssl > > SocketCallbackImpl-dummyLoginName] Closing connection to server, please > try > > debugging SSL with 'java -Djavax.net.debug=all ...': > javax.net.ssl.SSLException: > > java.lang.RuntimeException: Unexpected error: > > java.security.InvalidAlgorithmParameterException: the trustAnchors > parameter > > must be non-empty > > [14-Aug-2006 14:12:48 [33;40mWARN [0m XmlBlaster.socket_ssl > > SocketCallbackImpl-dummyLoginName] There are 1 messages pending without a > > response, request IDs are dummyLoginName:2 > > > > Server: > > > > [14-Aug-2006 14:12:48 WARN XmlBlaster.socket_ssl.SSL > socket_ssl-HandleClient] > > Error parsing TCP data from '/192.168.1.10:33581', check if client and > server > > have identical compression or SSL settings: javax.net.ssl.SSLException: > Received > > fatal alert: internal_error > > [14-Aug-2006 14:12:48 WARN XmlBlaster.socket_ssl.SSL > socket_ssl-HandleClient] > > Error parsing TCP data from '/192.168.1.10:33581', check if client and > server > > have identical compression or SSL settings: javax.net.ssl.SSLException: > Received > > fatal alert: internal_error > > > > > > > > Quoting Marcel Ruff <[EMAIL PROTECTED]>: > > > > > >> Hi Sherif, > >> > >> did you setup the SSL context as described in > >> > >> > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL1 > >> and later > >> > http://www.xmlblaster.org/xmlBlaster/doc/requirements/protocol.socket.html#SSL > >> > >> This works here out of the box (for the first try make sure to have a > >> untouched xmlBlaster.properties and > >> xmlBlasterPlugins.xml around), > >> > >> regards > >> Marcel > >> > >> [EMAIL PROTECTED] wrote: > >> > >>> Hi, > >>> > >>> I have been using xmlBlaster for a short while now, but only recently > >>> > >> needed to > >> > >>> add security to our application, and hence the use of ssl! I am having > >>> > >> problems > >> > >>> with connecting a client to an ssl server running on port 7609. > >>> > >>> I believe the problem is I am trying to connect to the server using > plain > >>> > >> text, > >> > >>> but I am not sure how to overcome this. > >>> > >>> I have included my errors and a code snippet of how I connect to the > >>> > >> server > >> > >>> below as well. > >>> > >>> Hope somebody can help. > >>> > >>> Thanks > >>> > >>> Regards > >>> > >>> Sherif > >>> > >>> Here are the details: > >>> > >>> The error I get on the server side: > >>> > >>> [14-Aug-2006 09:45:06 INFO XmlBlaster.SocketDriver > >>> > >>> > >> > org.xmlBlaster.util.protocol.RequestReplyExecutor:socket://192.168.1.10:7609] > >> > >>> Full stream compression enabled with 'zlib:stream' > >>> [14-Aug-2006 09:45:06 WARN XmlBlaster.socket_ssl.SSL > >>> > >> socket_ssl-HandleClient] > >> > >>> Error parsing TCP data from '/192.168.1.10:33187', check if client and > >>> > >> server > >> > >>> have identical compression or SSL settings: javax.net.ssl.SSLException: > >>> Unrecognized SSL message, plaintext connection? > >>> [14-Aug-2006 09:45:06 INFO XmlBlaster.SocketDriver > >>> > >>> > >> > org.xmlBlaster.util.protocol.RequestReplyExecutor:socket://192.168.1.10:7609] > >> > >>> Full stream compression enabled with 'zlib:stream' > >>> [14-Aug-2006 09:45:06 WARN XmlBlaster.socket_ssl.SSL > >>> > >> socket_ssl-HandleClient] > >> > >>> Error parsing TCP data from '/192.168.1.10:33187', check if client and > >>> > >> server > >> > >>> have identical compression or SSL settings: javax.net.ssl.SSLException: > >>> Unrecognized SSL message, plaintext connection? > >>> > >>> > >>> The error I get on the client side: > >>> > >>> Shell: trying port 13570 > >>> Shell: trying port 13571 > >>> Property: Loading xmlBlaster.properties from CLASSPATH > >>> > >>> > >> > file:/home/sy99/diadem/src/firewall/lib/xmlBlaster.jar!/xmlBlaster.properties > >> > >>> Property: No args array given. > >>> Property: Added 3 property pairs > >>> [14-Aug-2006 09:45:04 [32;40mINFO [0m main XmlBlasterAccess] Loaded > >>> > >> security > >> > >>> plugin=htpasswd version=1.0 > >>> [14-Aug-2006 09:45:04 [32;40mINFO [0m main JmxWrapper] JMX over RMI is > >>> switched off, for details see > >>> > >>> > >> > http://www.xmlBlaster.org/xmlBlaster/doc/requirements/admin.jmx.html#jconsole > >> > >>> [14-Aug-2006 09:45:05 [32;40mINFO [0m main > >>> JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155545104800] > >>> Successfully reconnected to database > >>> [14-Aug-2006 09:45:05 [32;40mINFO [0m main > >>> JdbcConnectionPool-jdbc:hsqldb:/home/sy99/tmp/clientsy991155545104800] > >>> Connections to DB 'jdbc:hsqldb:/home/sy99/tmp/clientsy991155545104800' > >>> successfully established. > >>> [14-Aug-2006 09:45:05 [32;40mINFO [0m main ClientEntryFactory] > >>> > >> successfully > >> > >>> initialized > >>> [14-Aug-2006 09:45:05 [32;40mINFO [0m main JdbcManagerCommonTable] The > >>> > >> maximum > >> > >>> SQL statement length is not defined in JDBC meta data, we set it to 2048 > >>> [14-Aug-2006 09:45:05 [32;40mINFO [0m main > >>> JdbcManagerCommonTable-XB_-tablesCheckAndSetup()] adding table > 'XB_ENTRIES' > >>> > >> as > >> > >>> the 'entries' table > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m main SocketConnection] SOCKET > >>> > >> client > >> > >>> connected to 'socket://192.168.1.10:7609', callback address is > >>> 'socket://192.168.1.10:33187' useUdpForOneway=false > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m main > >>> DispatchConnection-connection:client/sy991155545105057] Connection > >>> > >> 'SOCKET' > >> > >>> transition UNDEF -> ALIVE: Success, connection:client/sy991155545105057 > >>> > >> connected. > >> > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m main > >>> DispatchManager-connection:client/sy991155545105057] Switched to > >>> > >> synchronous > >> > >>> message delivery > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m main > XmlBlasterAccess-client/sy99] > >>> Callback settings: type=CACHE onOverflow=deadMessage > onFailure=deadMessage > >>> maxEntries=1000 type=SOCKET oneway=false dispatcherActive=true > >>> burstMode.collectTime=0 > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m XmlBlaster.SOCKET > >>> SocketCallbackImpl-sy99] Started callback receiver plugin on > >>> 'socket://192.168.1.10:33187' > >>> [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > >>> SocketCallbackImpl-sy99] Closing connection to server: > >>> > >> java.net.SocketException: > >> > >>> Connection reset > >>> [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > >>> SocketCallbackImpl-sy99] There are 1 messages pending without a > response, > >>> request IDs are sy99:1 > >>> [14-Aug-2006 09:45:06 [33;40mWARN [0m main > >>> DispatchConnection-connection:client/sy991155545105057] Connection > >>> > >> transition > >> > >>> ALIVE -> POLLING: socket://192.168.1.10:7609 is unaccessible, we poll > for > >>> > >> it > >> > >>> every 5000 msec: errorCode=communication.noConnection message=#exported > >>> > >> login > >> > >>> failed : java.io.IOException: SocketExecutor: Lost socket connection for > >>> connect(requestId=sy99:1) > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m main > >>> DispatchManager-connection:client/sy991155545105057] Switched to > >>> > >> asynchronous > >> > >>> message delivery > >>> errorCode=user.configuration message=#exported Can't find an xmlBlaster > >>> > >> server. > >> > >>> Try to provide the server host/port as described in > >>> > >>> > >> > http://www.xmlblaster.org/xmlBlaster/doc/requirements/client.configuration.html > >> > >>> or provide a public session ID to support polling for xmlBlaster without > >>> > >> an > >> > >>> initial connection. See > >>> > >>> > >> > 'http://www.xmlBlaster.org/xmlBlaster/doc/requirements/client.failsafe.html' > >> for > >> > >>> more details. > >>> at > >>> > >>> > > > org.xmlBlaster.client.dispatch.ClientDispatchConnectionsHandler.createFakedReturnObjects(ClientDispatchConnectionsHandler.java:138) > > > >>> at > >>> > >>> > > > org.xmlBlaster.util.dispatch.DispatchManager.handleSyncWorkerException(DispatchManager.java:382) > > > >>> at > >>> > >> org.xmlBlaster.util.dispatch.DispatchWorker.run(DispatchWorker.java:83) > >> > >>> at > >>> > >> > org.xmlBlaster.util.dispatch.DispatchManager.putPre(DispatchManager.java:530) > >> > >>> at > >>> > >>> > > > org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:457) > > > >>> at > >>> > >>> > > > org.xmlBlaster.util.queue.cache.CacheQueueInterceptorPlugin.put(CacheQueueInterceptorPlugin.java:437) > > > >>> at > >>> > >> > org.xmlBlaster.client.XmlBlasterAccess.queueMessage(XmlBlasterAccess.java:731) > >> > >>> at > >>> > >> org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:298) > >> > >>> at org.trustcom.external.XMLBlaster.connect(XMLBlaster.java:271) > >>> at org.trustcom.external.XMLBlaster.execute(XMLBlaster.java:218) > >>> at org.trustcom.ManagedObject.execute(ManagedObject.java:259) > >>> at org.trustcom.OID.execute(OID.java:180) > >>> at org.trustcom.Util.useObject(Util.java:530) > >>> at org.trustcom.Util.parse(Util.java:354) > >>> at org.trustcom.Util.parse(Util.java:390) > >>> at org.trustcom.Util.parse(Util.java:328) > >>> at org.trustcom.Util.eval(Util.java:544) > >>> at org.trustcom.Util.parse(Util.java:363) > >>> at org.trustcom.Util.parse(Util.java:328) > >>> at org.trustcom.Util.parse(Util.java:340) > >>> at org.trustcom.SelfManagedCell.main(SelfManagedCell.java:193) > >>> Diadem Firewall System Manager is active! > >>> Policy: active is true > >>> Shell port 13571 ready > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m XmlBlaster.PingTimer > >>> > >> SocketConnection] > >> > >>> SOCKET client connected to 'socket://192.168.1.10:7609', your configured > >>> > >> local > >> > >>> parameters are localHostname=192.168.1.10 on localPort=33187 > >>> > >> useUdpForOneway=false > >> > >>> [14-Aug-2006 09:45:06 [32;40mINFO [0m XmlBlaster.SOCKET > >>> SocketCallbackImpl-dummyLoginName] Started callback receiver plugin on > >>> 'socket://192.168.1.10:33187' > >>> [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > >>> SocketCallbackImpl-dummyLoginName] Closing connection to server: > >>> java.net.SocketException: Connection reset > >>> [14-Aug-2006 09:45:06 [33;40mWARN [0m XmlBlaster.SOCKET > >>> SocketCallbackImpl-dummyLoginName] There are 1 messages pending without > a > >>> response, request IDs are dummyLoginName:2 > >>> > >>> Here's is how I connect to the server: > >>> > >>> private void connect(String[] args, String uname, String passwd) { > >>> try { > >>> glob = new Global(); > >>> glob.init(args); > >>> connection = glob.getXmlBlasterAccess(); > >>> ConnectQos qos; > >>> if (uname == null) > >>> qos = new ConnectQos(glob); > >>> else > >>> qos = new ConnectQos(glob, uname, passwd); > >>> > >>> // Ok, make the connection > >>> connection.connect(qos, new I_Callback() { > >>> > >>> public String update(String name, UpdateKey updateKey, byte[] > >>> > >> content, > >> > >>> UpdateQos updateQos) { > >>> System.out.println("XMLBlaster: Receiving undirected > message"); > >>> return ""; > >>> } > >>> }); > >>> > >>> // Handle lost server explicitly > >>> connection.registerConnectionListener(new > I_ConnectionStateListener() > >>> > >> { > >> > >>> public void reachedAlive(ConnectionStateEnum oldState, > >>> I_XmlBlasterAccess connection) { > >>> /* > >>> * ConnectReturnQos conRetQos = > >>> > >> connection.getConnectReturnQos(); > >> > >>> * log.info(ME, "I_ConnectionStateListener: We were lucky, > >>> > >> connected > >> > >>> * to " + connection.getGlobal().getId() + " as " + > >>> * conRetQos.getSessionName()); > >>> */ > >>> System.out.println("XMLBlaster: Destroying " + > >>> connection.getQueue().getNumOfEntries() > >>> + " client side tailback messages"); > >>> connection.getQueue().clear(); > >>> } > >>> > >>> public void reachedPolling(ConnectionStateEnum oldState, > >>> I_XmlBlasterAccess connection) { > >>> System.out > >>> .println("XMLBlaster: I_ConnectionStateListener: No > >>> > >> connection to > >> > >>> xmlBlaster server, we are polling ..."); > >>> } > >>> > >>> public void reachedDead(ConnectionStateEnum oldState, > >>> > >> I_XmlBlasterAccess > >> > >>> connection) { > >>> System.out.println("XMLBlaster: I_ConnectionStateListener: > >>> > >> Connection > >> > >>> from " > >>> + connection.getGlobal().getId() + " to xmlBlaster is > DEAD, > >>> > >> doing > >> > >>> exit."); > >>> System.exit(1); > >>> } > >>> }); > >>> > >>> } > >>> catch (XmlBlasterException e) { > >>> // TODO Auto-generated catch block > >>> e.printStackTrace(); > >>> } > >>> } > >>> > >>> > >>> > >> > > > > > > > > > >
