NoSuchProviderException issued when third party security provider is used
 Technote (troubleshooting)
 
Problem(Abstract)
If you use a third party security provider with WebSphere® Application Server V5.0, you might see the following error if the security provider is not correctly installed:

"java.security.NoSuchProviderException: JCE cannot authenticate the provider <provider name> java.util.jar.JarException: file:/eu/ffp/ws/java/jre/lib/ext/<provider> has unsigned class files."
 
Resolving the problem
Full Text of Error Message

java.security.NoSuchProviderException: JCE cannot authenticate the provider <provider name> java.util.jar.JarException: file:/eu/ffp/ws/java/jre/lib/ext/<provider> has unsigned class files.
at javax.crypto.f.c(Unknown Source)
at javax.crypto.f.a(Unknown Source)
at javax.crypto.Cipher.getInstance(Unknown Source) . . .

You can also see a second symptom: a loop in java with these entries repeating, resulting in a StackOverflowError in java...

[01.09.03 17:35:28:363 CEST] 5a5318 WebGroup E SRVE0026E: [Servlet-Fehler]-[]: java.lang.StackOverflowError
at java.lang.ref.Finalizer.register(Finalizer.java:70)
at java.util.zip.ZipFile.getInflater(ZipFile.java:251)
at java.util.zip.ZipFile.getInputStream(ZipFile.java:196)
at java.util.zip.ZipFile.getInputStream(ZipFile.java:171)
at java.util.jar.JarFile.getInputStream(JarFile.java:315)
at sun.misc.URLClassPath$4.getInputStream(URLClassPath.java:537)
at sun.misc.Resource.getBytes(Resource.java:55)
....

One iteration of loop is shown below and repeats many times; the repitition is not shown.

at java.util.jar.JarFile.getInputStream(JarFile.java:315)
at sun.misc.URLClassPath$4.getInputStream(URLClassPath.java:537)
at sun.misc.Resource.getBytes(Resource.java:55)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:240)
at java.net.URLClassLoader.access$100(URLClassLoader.java:51)
at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:183)
at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.security.Security.getImpl(Security.java:810)
at java.security.MessageDigest.getInstance(MessageDigest.java:118)
at sun.security.util.ManifestEntryVerifier.setEntry(ManifestEntryVerifier.java:109)
at java.util.jar.JarVerifier.beginEntry(JarVerifier.java:149)
at java.util.jar.JarVerifier$VerifierStream.<init>(JarVerifier.java:349)

Potential Solution

One possible explanation for this error, and the loop, is that the java.security properties file has not been modified to include the security provider policy file. The installation that reported this problem added the security provider policy file in the second position within the java.security file and the problem was resolved. However, you should check with the vendor for your security provider for detailed installation instructions.

 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Security
Operating system(s): Windows
Software version: 5.0
Software edition:
Reference #: 1138548
IBM Group: Software Group
Modified date: Jan 19, 2004