Re: Secure Jini and Tomcat

anthony rogers <[email protected]> Mon, 14 May 2007 12:27:58 +0100
Newsgroups gmane.comp.java.sun.javaspaces
Message-ID <[email protected]>
Jeff i had the same hassle dude.

i think its somthing to do with 'classloaders' after hitting my head
againt a wall i steped back and desided to change from tomcat to
glassfish and if like magic it all works fine. so if u can change
application servers, try that mate (nicer app server tbh u'll never look
back).

ant

Jeff Hyatt-Steel wrote:
>
> Hi
>
>
>
> I have a system which is running on jini2_1 and blitz. I also have a
> tomcat server acting as a web services bridge to act as a jini client.
> We are now looking to implement jini security.
>
>
>
> After much work, all of the jini services and clients are running --
> with the exception of Tomcat. When ever I try to use one of the
> published classes through the tomcat server I get an exception. The
> web application that deals with soap calls is axis 1.1 and the tomcat
> version is 5.028.
>
> Here is the exception I get:
>
>
>
> INFO: Exception occurred while attempting to register with the lookup
> service event mechanism
>
> java.rmi.ConnectIOException: I/O exception connecting to
> BasicObjectEndpoint[af795904-cfe7-4a3f-89d2-3b5dd160ed5a,SslEndpoint[test.XXX.net:8090]];
> nested exception is:
>
>       net.jini.io.UnsupportedConstraintException:
> sun.security.validator.ValidatorException: PKIX path building failed:
> sun.security.provider.certpath.SunCertPathBuilderException: unable to
> find valid certification path to requested target
>
>       at
> net.jini.jeri.BasicInvocationHandler.wrapSafeIOException(BasicInvocationHandler.java:893)
>
>       at
> net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:711)
>
>       at
> net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659)
>
>       at
> net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528)
>
>       at com.sun.jini.reggie.$Proxy0.notify(Unknown Source)
>
>       at
> com.sun.jini.reggie.RegistrarProxy.notify(RegistrarProxy.java:139)
>
>       at
> net.jini.lookup.ServiceDiscoveryManager.registerListener(ServiceDiscoveryManager.java:3633)
>
>       at
> net.jini.lookup.ServiceDiscoveryManager.access$700(ServiceDiscoveryManager.java:605)
>
>       at
> net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$RegisterListenerTask.run(ServiceDiscoveryManager.java:888)
>
>       at
> com.sun.jini.thread.TaskManager$TaskThread.run(TaskManager.java:331)
>
> Caused by: net.jini.io.UnsupportedConstraintException:
> sun.security.validator.ValidatorException: PKIX path building failed:
> sun.security.provider.certpath.SunCertPathBuilderException: unable to
> find valid certification path to requested target
>
>       at
> net.jini.jeri.ssl.SslConnection.establishCallContext(SslConnection.java:195)
>
>       at
> net.jini.jeri.ssl.SslEndpointImpl.connect(SslEndpointImpl.java:847)
>
>       at
> net.jini.jeri.connection.ConnectionManager.connect(ConnectionManager.java:228)
>
>       at
> net.jini.jeri.connection.ConnectionManager$ReqIterator.next(ConnectionManager.java:629)
>
>       at
> net.jini.jeri.BasicObjectEndpoint$1.next(BasicObjectEndpoint.java:371)
>
>       at
> net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:708)
>
>       ... 8 more
>
> Caused by: javax.net.ssl.SSLHandshakeException:
> sun.security.validator.ValidatorException: PKIX path building failed:
> sun.security.provider.certpath.SunCertPathBuilderException: unable to
> find valid certification path to requested target
>
>       at
> com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
>
>       at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1518)
>
>       at
> com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:174)
>
>       at
> com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:168)
>
>       at
> com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:848)
>
>       at
> com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:106)
>
>       at
> com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
>
>       at
> com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
>
>       at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:818)
>
>       at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1030)
>
>       at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1057)
>
>       at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1041)
>
>       at
> net.jini.jeri.ssl.SslConnection.establishSuites(SslConnection.java:251)
>
>       at
> net.jini.jeri.ssl.SslConnection.establishNewSocket(SslConnection.java:240)
>
>       at
> net.jini.jeri.ssl.SslConnection.establishCallContext(SslConnection.java:155)
>
>       ... 13 more
>
> Caused by: sun.security.validator.ValidatorException: PKIX path
> building failed:
> sun.security.provider.certpath.SunCertPathBuilderException: unable to
> find valid certification path to requested target
>
>       at
> sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:221)
>
>       at
> sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:145)
>
>       at sun.security.validator.Validator.validate(Validator.java:203)
>
>       at
> com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:172)
>
>       at
> net.jini.jeri.ssl.FilterX509TrustManager.checkServerTrusted(FilterX509TrustManager.java:99)
>
>       at
> net.jini.jeri.ssl.ClientAuthManager.checkServerTrusted(ClientAuthManager.java:265)
>
>       at
> com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320)
>
>       at
> com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:841)
>
>       ... 23 more
>
> Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
> unable to find valid certification path to requested target
>
>       at
> sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:236)
>
>       at
> java.security.cert.CertPathBuilder.build(CertPathBuilder.java:194)
>
>       at
> sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:216)
>
>       ... 30 more
>
>
>
> The server with tomcat on has the required certificates and the tomcat
> has had its server.xml file edited to point to the certificates and
> when tomcat is run with the --Djavax.net.debug=ssl option it shows
> that the certificates are picked up. Also I know the certificates are
> correct as running same method called in the web call as a stand alone
> program (on the same machine as tomcat is running) works fine.
>
> Just wondered if anyone had any ideas why trying to run something from
> a web call results in a security exception but running it
> independently on the same machine works?
>
>
>
> Any idea would be appreciated.
>
> Thanks.
>
>
>
> --
>
> Jeff Hyatt-Steel
> CDO^2
>
> Albert Buildings
>
> 49 Queen Victoria Street
>
> London
>
> EC4N 4SA
> Tel: +44 (0)845 456 4460
> Fax: +44 (0)845 456 4461
> www.cdo2.com <http://www.cdo2.com>
>
>
>
>
>
>
>
> --
>
> Jeff Hyatt-Steel
> CDO^2
>
> Albert Buildings
>
> 49 Queen Victoria Street
>
> London
>
> EC4N 4SA
> Tel: +44 (0)845 456 4460
> Fax: +44 (0)845 456 4461
> www.cdo2.com <http://www.cdo2.com>
>
>
>
> ===========================================================================
> To unsubscribe, send email to [email protected] and include in the
> body of the message "signoff JAVASPACES-USERS". For general help, send
> email to [email protected] and include in the body of the message
> "help".
>
> To view past JAVASPACES-USERS postings, please see:
> http://archives.java.sun.com/archives/javaspaces-users.html
>


===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff JAVASPACES-USERS".  For general help, send email to
[email protected] and include in the body of the message "help".

To view past JAVASPACES-USERS postings, please see:
http://archives.java.sun.com/archives/javaspaces-users.html