hi,
I am migrating my code to weblogic 10.3, i am getting the below error while calling my
applet.
*************************************************************
<Feb 27, 2009 4:14:49 PM IST> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@7394
74 - appName: '_appsdir_esistampdev_ear', name: 'estamp', context-path: '/estamp', spec-version: '2.5', request
: weblogic.servlet.internal.ServletRequestImpl@1ed627d[
GET /estamp/submission/SubmissionServlet?rDoAction=PrintCertificate HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Connection: Keep-Alive
Cookie: JSESSIONID=crvGJnGLy1S8tJD7C2vX4QnbvscrBQM2L7pQt218j9QMJv0mv0Hd!1701759650
]] Root cause of ServletException.
java.lang.NoClassDefFoundError: javax/crypto/spec/SecretKeySpec
at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.isAvailable(CipherSuite.java:384)
at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.isAvailable(CipherSuite.java:367)
at com.sun.net.ssl.internal.ssl.CipherSuite.isAvailable(CipherSuite.java:143)
at com.sun.net.ssl.internal.ssl.CipherSuiteList.buildAvailableCache(CipherSuiteList.java:210)
at com.sun.net.ssl.internal.ssl.CipherSuiteList.getDefault(CipherSuiteList.java:233)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.init(SSLSocketImpl.java:508)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:391)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:123)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:81)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:126)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:704)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:384)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
at com.crimsonlogic.legal.esi.util.ESIOdsInterfaceUtil.generateCertificate(ESIOdsInterfaceUtil.java:334)
at com.crimsonlogic.legal.esi.submission.util.SubmissionFormBiz.getPSFileName(SubmissionFormBiz.java:2744)
at com.crimsonlogic.legal.esi.submission.util.SubmissionFormBiz.printCertificate(SubmissionFormBiz.java:1216)
at com.crimsonlogic.legal.esi.submission.util.SubmissionFormBiz.processRequest(SubmissionFormBiz.java:2343)
at com.crimsonlogic.legal.esi.submission.servlet.SubmissionServlet.doGet(SubmissionServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.aesinfotech.sessiontracker.SessionTrackingFilter.doFilter(SessionTrackingFilter.java:198)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.crimsonlogic.legal.esi.useradmin.servlet.UserAdminFilterServlet.doFilter(UserAdminFilterServlet.java:149)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
*******************************************************************************
on going through the various forums I am suspecting that the problem lies in java.security file where the security providers are listed. Moreover javax/crypto/spec/SecretKeySpec class is present in jce.jar which I am not using, instead I am using a custom JAR which contains this class.
java.security file entries are as follows.
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
#security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI
Please let me know what could be the probable reason for this problem