Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7000502

NoClassDefFoundError: sun/security/mscapi/SunMSCAPI$1

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 6
    • security-libs
    • None

      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.

            vinnie Vincent Ryan
            vinnie Vincent Ryan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: