dev@glassfish.java.net

Re: Latest Nightly doesn't work with JSF Client State on Mac

From: Sivakumar Thyagarajan <Sivakumar.Thyagarajan_at_Sun.COM>
Date: Tue, 13 Sep 2005 23:26:45 +0530

Hi Ed

Could you point me to the FAQ you are referring to? Should
sunjce_provider.jar be available off the system classpath for the DESede
algorithm to be found? If yes, could you try adding a reference to
sunjce_provider.jar, to the server-classpath attribute of the
java-config element of your domain, restart the domain and try?

Could you also provide me a reproducible testcase [a pointer to a
devtest perhaps] that could help us investigate this further ... and can
we take this discussion off this list [we could update the list as soon
as we understand a fix for this]?

Thanks
--Siva.

Ed Burns wrote:
> I'm getting the dreaded "java.security.NoSuchAlgorithmException:
> Algorithm DESede not available" exception again. As mentioned in the
> FAQ, I used to solve this problem by copying
> $JAVA_HOME/lib/ext/sunjce_provider.jar to $JAVAEE_HOME/lib but since the
> classloader changes, this doesn't work.
>
> I tried adding the contents of sunjce_provider.jar to jsf-impl.jar, but
> that doesn't work either. I suspect there is some magic config option I
> can set to cause it to add sunjce_provider to the root classloader, but
> I dont know what it is. Any help?
>
> Thanks,
>
> Ed
>
> Exception
>
> javax.servlet.ServletException: java.lang.RuntimeException: java.security.NoSuchAlgorithmException: Algorithm DESede not available
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:193)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:585)
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:256)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>
> Root cause
>
> java.lang.RuntimeException: java.lang.RuntimeException: java.security.NoSuchAlgorithmException: Algorithm DESede not available
> com.sun.faces.renderkit.ByteArrayGuard.encrypt(ByteArrayGuard.java:118)
> com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:214)
> javax.faces.render.ResponseStateManager.writeState(ResponseStateManager.java:136)
> com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:178)
> com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:401)
> javax.faces.application.StateManager.writeState(StateManager.java:231)
> com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:390)
> com.sun.faces.application.ViewHandlerImpl.replaceMarkers(ViewHandlerImpl.java:878)
>
>
>