-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
6
-
None
-
generic
-
generic
IHAC that uses Sun JRE 6 (U21) and Java Webstart under Windows XP SP3.
Some of their ~150K Windows XP Clients frequently encounter the
following error when (initially) accessing the Java Cryptography
Extension (JCE):
...
java.lang.*NoClassDefFoundError: Could not initialize class
sun.security.mscapi.SunMSCAPI.*
...
Caused by: java.lang.*NoClassDefFoundError:
sun/security/mscapi/SunMSCAPI$1*
at sun.security.mscapi.SunMSCAPI.<clinit>(SunMSCAPI.java:32)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.security.jca.ProviderConfig$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.jca.ProviderConfig.doLoadProvider(Unknown Source)
at sun.security.jca.ProviderConfig.getProvider(Unknown Source)
at sun.security.jca.ProviderList.loadAll(Unknown Source)
at sun.security.jca.ProviderList.removeInvalid(Unknown Source)
at sun.security.jca.Providers.getFullProviderList(Unknown Source)
at java.security.Security.getProviders(Unknown Source)
at sun.security.jgss.ProviderList.<init>(Unknown Source)
at sun.security.jgss.GSSManagerImpl.<init>(Unknown Source)
at org.ietf.jgss.GSSManager.getInstance(Unknown Source)
at
xx.yyy.sso.common.authentication.InitSecContextAction.run(InitSecContextAction.java:55)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at
xx.yyy.sso.common.authentication.KerberosAuthentication.requestServiceTicketInternal(KerberosAuthentication.java:218)
at
xx.yyy.sso.common.authentication.KerberosAuthentication$2.execute(KerberosAuthentication.java:232)
at
xx.yyy.sso.common.authentication.InterruptedExecution.run(InterruptedExecution.java:53)
Caused by: java.lang.*ClassNotFoundException:
sun.security.mscapi.SunMSCAPI$1*
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 24 more
Caused by: java.util.zip.*ZipException: error reading zip file*
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1200(Unknown Source)
at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)
at java.util.zip.ZipFile$1.fill(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source)
at sun.misc.Resource.getBytes(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
... 30 more
The according files ($JAVA_HOME/jre/lib/ext/sunmscapi.jar resp.
$JAVA_HOME/jre/bin/sunmscapi.dll) do exist and don't appear to be
corrupted. In fact, it seems there's a problem with an anonymous
inner class within the sunmscapi class.
The customer apps actually do not make use of MSCAPI, nevertheless
the above error is thrown. As a workaround, the customer has disabled
(commented out) the Sun-MS-C-API provider in
$JAVA_HOME/jre/lib/security/java.security, and the error disappears.
Nevertheless, the customer would like to know the root cause of the
problem.
Some of their ~150K Windows XP Clients frequently encounter the
following error when (initially) accessing the Java Cryptography
Extension (JCE):
...
java.lang.*NoClassDefFoundError: Could not initialize class
sun.security.mscapi.SunMSCAPI.*
...
Caused by: java.lang.*NoClassDefFoundError:
sun/security/mscapi/SunMSCAPI$1*
at sun.security.mscapi.SunMSCAPI.<clinit>(SunMSCAPI.java:32)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.security.jca.ProviderConfig$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.jca.ProviderConfig.doLoadProvider(Unknown Source)
at sun.security.jca.ProviderConfig.getProvider(Unknown Source)
at sun.security.jca.ProviderList.loadAll(Unknown Source)
at sun.security.jca.ProviderList.removeInvalid(Unknown Source)
at sun.security.jca.Providers.getFullProviderList(Unknown Source)
at java.security.Security.getProviders(Unknown Source)
at sun.security.jgss.ProviderList.<init>(Unknown Source)
at sun.security.jgss.GSSManagerImpl.<init>(Unknown Source)
at org.ietf.jgss.GSSManager.getInstance(Unknown Source)
at
xx.yyy.sso.common.authentication.InitSecContextAction.run(InitSecContextAction.java:55)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at
xx.yyy.sso.common.authentication.KerberosAuthentication.requestServiceTicketInternal(KerberosAuthentication.java:218)
at
xx.yyy.sso.common.authentication.KerberosAuthentication$2.execute(KerberosAuthentication.java:232)
at
xx.yyy.sso.common.authentication.InterruptedExecution.run(InterruptedExecution.java:53)
Caused by: java.lang.*ClassNotFoundException:
sun.security.mscapi.SunMSCAPI$1*
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 24 more
Caused by: java.util.zip.*ZipException: error reading zip file*
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1200(Unknown Source)
at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)
at java.util.zip.ZipFile$1.fill(Unknown Source)
at java.util.zip.InflaterInputStream.read(Unknown Source)
at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source)
at sun.misc.Resource.getBytes(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
... 30 more
The according files ($JAVA_HOME/jre/lib/ext/sunmscapi.jar resp.
$JAVA_HOME/jre/bin/sunmscapi.dll) do exist and don't appear to be
corrupted. In fact, it seems there's a problem with an anonymous
inner class within the sunmscapi class.
The customer apps actually do not make use of MSCAPI, nevertheless
the above error is thrown. As a workaround, the customer has disabled
(commented out) the Sun-MS-C-API provider in
$JAVA_HOME/jre/lib/security/java.security, and the error disappears.
Nevertheless, the customer would like to know the root cause of the
problem.
- duplicates
-
JDK-7006405 Error when loading security provider SunMSCAPI with WebStart on Windows XP
- Closed