Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-6399

Won't login / doesnt respect JVM security provider settings (bouncy castle)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Resolution: Invalid
    • Affects Version/s: Minecraft 1.4.6
    • Fix Version/s: None
    • Environment:
    • Confirmation Status:
      Unconfirmed

      Description

      I recently installed Bouncy Castle security provider for a project I am working on. Once installed the Minecraft client stopped logging into the server I run locally. (Tho its still working for friends who connect remotely)

      I get the following stack trace to the console when trying to connect with the client. The GUI eventually times out and does not connect.
      Connecting to 192.168.1.43, 25565
      java.lang.ClassCastException: org.bouncycastle.jcajce.provider.digest.GOST3411$M
      appings cannot be cast to apl
      at apm.a(Unknown Source)
      at apm.a(Unknown Source)
      at apm.a(Unknown Source)
      at apn.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at apm.<init>(Unknown Source)
      at jt.<clinit>(SourceFile:40)
      at eq.a(SourceFile:28)
      at ef.a(SourceFile:192)
      at cg.i(SourceFile:249)
      at cg.c(SourceFile:15)
      at ch.run(SourceFile:93)
      Exception in thread "Client read thread" java.lang.InternalError: cannot create
      instance of org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings : java.lan
      g.ClassCastException: org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings
      cannot be cast to apl
      at apm.a(Unknown Source)
      at apm.a(Unknown Source)
      at apm.a(Unknown Source)
      at apn.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at apm.<init>(Unknown Source)
      at jt.<clinit>(SourceFile:40)
      at eq.a(SourceFile:28)
      at ef.a(SourceFile:192)
      at cg.i(SourceFile:249)
      at cg.c(SourceFile:15)
      at ch.run(SourceFile:93)

      If I comment out the line enabling Bouncy Castle in java.security file I still get the same error. IMO this shouldn't happen as in commenting the line Bouncy Castle is not enabled. (I've confirmed this with a simple test program showing BC wasn't available)

      However once I removed bcprov-jdk15on-147 from ext it the client worked.

      I see a few issues here.

      For some reason the java.security provider precedence is being ignored.

      Bouncy Castle is the last provider in my precedence list. Shouldn't it be using Sun, or what ever provider is working now instead of BC when it's enabled anyway?

      Even when BC is not enabled in the precedence chain in java.security Minecraft is using it anyway. How and why is this so?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                ensignr Ross
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: