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

NoClassDefFoundError: sun/security/mscapi/SunMSCAPI$1

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3
    • Resolution: Duplicate
    • Affects Version/s: 6
    • Fix Version/s: None
    • Component/s: security-libs
    • Labels:
      None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: