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

REGRESSION: webstart fails to launch app when using multiple certificate and SSL based authen

XMLWordPrintable

    • 6
    • b05
    • x86
    • windows_vista
    • Verified

        J2SE Version (please include all output from java -version flag):
        C:\Users\mac>java -version
        java version "1.7.0_02-ea"
        Java(TM) SE Runtime Environment (build 1.7.0_02-ea-b05)
        Java HotSpot(TM) Client VM (build 22.0-b02, mixed mode, sharing)


        Does this problem occur on J2SE 1.4.x, 1.5 or 6? Yes / No (pick one)

        No. If uninstall Java 7 and do the exact same test, everything works perfectly!

        Working version:
        Java Web Start 1.6.0_28-ea
        Using JRE version 1.6.0_28-ea-b03 Java HotSpot(TM) Client VM


        Operating System Configuration Information (be specific):
        Windows Vista Business SP2

        Hardware Configuration Information (be specific):
        HP Pavillion dv9000
        Windows Vista Business SP2 32 bit
        3 GB RAM
        Intel Core 2 Duo T9300



        Bug Description:

        With more than one certificate available I am unable to access the system at all.
        It appears related to the prompting issue. If our client would update to Java 7
        they would be completely unable to access the system.

        It is difficult to a submit test case for this as it requires both server and client
        side configurations. However, the deployment team should have test cases using
        certificate authenticated SSL connections already. I am curious if their test cases
        include situations where a client may have more than one certificate to choose from.
        The UI seems to want to handle it, but I get in the situation again where I get
        challenged for my certificate and then the Downloading Application box comes up
        immediately; after which I can only cancel.

        If I have only 1 certificate, it is automatically chosen and this is not an issue.
        However, then a different problem occurs and I still cannot use my applcation because
        of the following:


        10:35:04[00002:-5] dsi.client.module.StartupInitializer.run(StartupInitializer.java:109)Error creating secure connection
        ---- (1) ---- Throwable - Class (class dsi.core.io.ConnectErrorException)
                        Message (Error creating secure connection)
                        at dsi.joint.io.ApacheDConnection.sendSinglePart(ApacheDConnection.java:105)
                        at dsi.joint.io.ApacheDConnection.send(ApacheDConnection.java:59)
                        at dsi.joint.io.DConnection.sendRequestImpl(DConnection.java:116)
                        at dsi.joint.io.DConnection.sendRequest(DConnection.java:73)
                        at dsi.joint.io.IOHelper.loadServerList(IOHelper.java:55)
                        at dsi.joint.io.IOHelper.loadServerList(IOHelper.java:36)
                        at dsi.client.module.StartupInitializer.loadServerList(StartupInitializer.java:194)
                        at dsi.client.module.StartupInitializer.run(StartupInitializer.java:88)
                        at java.lang.Thread.run(Thread.java:662)
        ---- (2) ---- Throwable - Class (class javax.net.ssl.SSLPeerUnverifiedException)
                        Message (peer not authenticated)
                        at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
                        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
                        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:339)
                        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
                        at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
                        at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
                        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
                        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
                        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576)
                        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554)
                        at dsi.joint.io.ApacheDConnection.sendSinglePart(ApacheDConnection.java:94)
                        at dsi.joint.io.ApacheDConnection.send(ApacheDConnection.java:59)
                        at dsi.joint.io.DConnection.sendRequestImpl(DConnection.java:116)
                        at dsi.joint.io.DConnection.sendRequest(DConnection.java:73)
                        at dsi.joint.io.IOHelper.loadServerList(IOHelper.java:55)
                        at dsi.joint.io.IOHelper.loadServerList(IOHelper.java:36)
                        at dsi.client.module.StartupInitializer.loadServerList(StartupInitializer.java:194)
                        at dsi.client.module.StartupInitializer.run(StartupInitializer.java:88)
                        at java.lang.Thread.run(Thread.java:662)
        java.lang.UnsatisfiedLinkError: com.sun.deploy.security.MSCryptoPrivateKey.cleanUp(II)V
                        at com.sun.deploy.security.MSCryptoPrivateKey.cleanUp(Native Method)
                        at com.sun.deploy.security.MSCryptoPrivateKey.finalize(Unknown Source)
                        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
                        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
                        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
                        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
        java.lang.UnsatisfiedLinkError: com.sun.deploy.security.MSCryptoPrivateKey.cleanUp(II)V
                        at com.sun.deploy.security.MSCryptoPrivateKey.cleanUp(Native Method)
                        at com.sun.deploy.security.MSCryptoPrivateKey.finalize(Unknown Source)
                        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
                        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
                        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
                        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)



        Steps to Reproduce (be specific):

              dgu Dennis Gu (Inactive)
              tyao Ting-Yun Ingrid Yao (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: