Weird crypto phenomenon
werpu Oct 10, 2005 2:34 PMHi I am running into a strange phenomenon with jboss 4.0.3beta here:
I have an app which utilizes the jakarta httpclient lib to establish a ssl connecion, while the app seems to run on any servlet runner I throw it at, I get an error on jboss:
here is the log I get:
ROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/testjsf].[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.NoClassDefFoundError
at javax.crypto.Cipher.getInstance(DashoA12275)
at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(JsseJce.java:90)
at com.sun.net.ssl.internal.ssl.RSACipher.(RSACipher.java:35)
at com.sun.net.ssl.internal.ssl.RSACipher.getInstance(RSACipher.java:69)
at com.sun.net.ssl.internal.ssl.PreMasterSecret.(PreMasterSecret.java:82)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:514)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:160)
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:815)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:619)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
at supportive.org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(Unknown Source)
at supportive.org.apache.commons.httpclient.HttpMethodBase.writeRequest(Unknown Source)
at supportive.org.apache.commons.httpclient.HttpMethodBase.execute(Unknown Source)
at supportive.org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(Unknown Source)
at supportive.org.apache.commons.httpclient.HttpMethodDirector.executeMethod(Unknown Source)
at supportive.org.apache.commons.httpclient.HttpClient.executeMethod(Unknown Source)
at supportive.org.apache.commons.httpclient.HttpClient.executeMethod(Unknown Source)
at com.netlok.adapters.NetlokJavaAdapter.sendNetlokRequest(Unknown Source)
at org.apache.jsp.pages.inputname_jsp._jspService(org.apache.jsp.pages.inputna
....
Which indicates that some crypto provider class is not found. The funny
thing is, if I use it barebones jdk without any servlet runner, the thing works with the jdk provided jce, and also a barebone Tomcat does not choke.
Only jboss does. Does this have to do with the default jboss classloading order?
Any hints would be appreciated.