2014-10-15 8 views
6

Ich habe ein Java-Applet, das ich SD-Karte Daten von einem Benutzer-PC lesen. Das Applet befindet sich auf einer Website, bei der Sie sich anmelden. Um sich auf der Website anzumelden, müssen Sie ein Browserzertifikat verwenden. Sobald Sie eingeloggt sind, gehen Sie auf die SD-Karten-Download-Seite, das Applet wird initialisiert, liest die Kartendaten und sendet sie an einige JavaScript-Seiten auf der Seite.Java-Applet wird nicht geladen in IE nach Java 8 Upgrade

Das Problem, das ich jetzt habe, ist, dass das Applet seit der Installation von Java 8 in meinem Browser nicht geladen wird. Insbesondere funktioniert es in keiner Version von IE (getestet 8, 9, 10 und 11). Es läuft gut in Firefox. Ich habe Chrome nicht ausprobiert.

Ich habe niemanden gefunden, der ein ähnliches Problem hat. Es könnte sein, dass es relativ neu ist. Weiß jemand, warum das passiert und haben Sie eine Idee, wie Sie das beheben können?

Es gibt einen StackTrace in der Java-Konsole in IE8, der relevant aussieht. Hier sind einige interessante Stücke:

javax.net.ssl.SSLHandshakeException: Error signing certificate verify 
... 
Caused by: java.security.InvalidKeyException: No installed provider supports this key: com.sun.deploy.security.MSCryptoRSAPrivateKey 
... 
com.sun.deploy.net.FailedDownloadException: Unable to load resource: https://xdc-fqq02.example.com/cardtocloud/cardtocloud.jnlp 

bearbeiten: Hier ist ein zusätzliches Stück Information. Das Applet funktioniert auf einem anderen Server mit OpenSSL 1.0.1i korrekt. Das Applet funktioniert nicht mit dem ursprünglichen Server mit OpenSSL 1.0.0m.

Hier ist das vollständige Protokoll. Der Stacktrace wird nicht im Protokoll für Firefox angezeigt.

Java Plug-in 11.25.2.18 
Using JRE version 1.8.0_25-b18 Java HotSpot(TM) Client VM 
User home directory = C:\Users\codyj 
---------------------------------------------------- 
c: clear console window 
f: finalize objects on finalization queue 
g: garbage collect 
h: display this help message 
l: dump classloader list 
m: print memory usage 
o: trigger logging 
q: hide console 
r: reload policy configuration 
s: dump system and deployment properties 
t: dump thread list 
v: dump thread stack 
x: clear classloader cache 
0-5: set trace level to <n> 
---------------------------------------------------- 
network: Created version ID: 1.8.0.25 
network: Created version ID: 1.8 
network: Created version ID: 8.0.25 
network: Connecting https://xdc-fqq02.example.com/cardtocloud/cardtocloud.jnlp with proxy=DIRECT 
network: Connecting http://xdc-fqq02.example.com:443/ with proxy=DIRECT 
security: Loading SSL Root CA certificates from C:\Program Files (x86)\Java\jre1.8.0_25\lib\security\cacerts 
security: Loaded SSL Root CA certificates from C:\Program Files (x86)\Java\jre1.8.0_25\lib\security\cacerts 
security: Obtain certificate collection in SSL Root CA certificate store 
security: Obtain certificate collection in SSL Root CA certificate store 
security: Loading certificates from Deployment session certificate store 
security: Loaded certificates from Deployment session certificate store 
security: Loading certificates from Internet Explorer ROOT certificate store 
security: Loaded certificates from Internet Explorer ROOT certificate store 
security: Loading certificates from Internet Explorer DISALLOWED certificate store 
security: Loaded certificates from Internet Explorer DISALLOWED certificate store 
security: Loaded blacklisted.certs file: C:\Users\codyj\AppData\LocalLow\Sun\Java\Deployment\security\blacklisted.certs 
security: SHA-256Certificate finger print: F94D2C80A1172FC591F964D4DC0E8BAF493C92FE678B6B8B07D362607EBD33AB 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
security: SHA-256Certificate finger print: 0855414AF5F5FD7E264F8B002A39CCED67E5952E89B61B680CC847BAA34944DE 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
security: SHA-256Certificate finger print: 0AE1484292B20EE696D4593DBE46F91479F8DAD58FC057CFD52FA3FA8FB3CE4B 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
security: Checking if SSL certificate is in Deployment permanent certificate store 
security: Loading certificates from Internet Explorer ROOT certificate store 
security: Loaded certificates from Internet Explorer ROOT certificate store 
security: Saving certificates in Deployment session certificate store 
security: Saved certificates in Deployment session certificate store 
javax.net.ssl.SSLHandshakeException: Error signing certificate verify 
    at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) 
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 
    at sun.security.ssl.Handshaker.processLoop(Unknown Source) 
    at sun.security.ssl.Handshaker.process_record(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessController.doPrivileged(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) 
    at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.model.ResourceProvider.getResource(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory._buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.initManager(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.access$200(Unknown Source) 
    at sun.plugin2.main.client.PluginMain$2.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.security.InvalidKeyException: No installed provider supports this key: com.sun.deploy.security.MSCryptoRSAPrivateKey 
    at java.security.Signature$Delegate.chooseProvider(Unknown Source) 
    at java.security.Signature$Delegate.engineInitSign(Unknown Source) 
    at java.security.Signature.initSign(Unknown Source) 
    at sun.security.ssl.HandshakeMessage$CertificateVerify.<init>(Unknown Source) 
    ... 34 more 
network: Connecting https://xdc-fqq02.example.com/cardtocloud/cardtocloud.jnlp with proxy=DIRECT 
network: Connecting http://xdc-fqq02.example.com:443/ with proxy=DIRECT 
security: Obtain certificate collection in SSL Root CA certificate store 
security: Obtain certificate collection in SSL Root CA certificate store 
security: Loading certificates from Deployment session certificate store 
security: Loaded certificates from Deployment session certificate store 
security: SHA-256Certificate finger print: F94D2C80A1172FC591F964D4DC0E8BAF493C92FE678B6B8B07D362607EBD33AB 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
security: SHA-256Certificate finger print: 0855414AF5F5FD7E264F8B002A39CCED67E5952E89B61B680CC847BAA34944DE 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
security: SHA-256Certificate finger print: 0AE1484292B20EE696D4593DBE46F91479F8DAD58FC057CFD52FA3FA8FB3CE4B 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
javax.net.ssl.SSLHandshakeException: Error signing certificate verify 
    at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) 
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 
    at sun.security.ssl.Handshaker.processLoop(Unknown Source) 
    at sun.security.ssl.Handshaker.process_record(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessController.doPrivileged(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) 
    at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doGetRequest(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.model.ResourceProvider.getResource(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory._buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.initManager(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.access$200(Unknown Source) 
    at sun.plugin2.main.client.PluginMain$2.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.security.InvalidKeyException: No installed provider supports this key: com.sun.deploy.security.MSCryptoRSAPrivateKey 
    at java.security.Signature$Delegate.chooseProvider(Unknown Source) 
    at java.security.Signature$Delegate.engineInitSign(Unknown Source) 
    at java.security.Signature.initSign(Unknown Source) 
    at sun.security.ssl.HandshakeMessage$CertificateVerify.<init>(Unknown Source) 
    ... 35 more 
com.sun.deploy.net.FailedDownloadException: Unable to load resource: https://xdc-fqq02.example.com/cardtocloud/cardtocloud.jnlp 
    at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.model.ResourceProvider.getResource(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory._buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.initManager(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.access$200(Unknown Source) 
    at sun.plugin2.main.client.PluginMain$2.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: 
javax.net.ssl.SSLHandshakeException: Error signing certificate verify 
    at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) 
    at sun.security.ssl.Handshaker.fatalSE(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source) 
    at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 
    at sun.security.ssl.Handshaker.processLoop(Unknown Source) 
    at sun.security.ssl.Handshaker.process_record(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessController.doPrivileged(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) 
    at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source) 
    at com.sun.deploy.net.BasicHttpRequest.doGetRequest(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) 
    at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source) 
    at com.sun.deploy.model.ResourceProvider.getResource(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory._buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source) 
    at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.initManager(Unknown Source) 
    at sun.plugin2.main.client.PluginMain.access$200(Unknown Source) 
    at sun.plugin2.main.client.PluginMain$2.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.security.InvalidKeyException: No installed provider supports this key: com.sun.deploy.security.MSCryptoRSAPrivateKey 
    at java.security.Signature$Delegate.chooseProvider(Unknown Source) 
    at java.security.Signature$Delegate.engineInitSign(Unknown Source) 
    at java.security.Signature.initSign(Unknown Source) 
    at sun.security.ssl.HandshakeMessage$CertificateVerify.<init>(Unknown Source) 
    ... 35 more 
network: Connecting https://xdc-fqq02.example.com/cardtocloud/cardtocloud.jnlp with proxy=DIRECT 
network: Connecting http://xdc-fqq02.example.com:443/ with proxy=DIRECT 
security: Obtain certificate collection in SSL Root CA certificate store 
security: Obtain certificate collection in SSL Root CA certificate store 
security: Loading certificates from Deployment session certificate store 
security: Loaded certificates from Deployment session certificate store 
security: SHA-256Certificate finger print: F94D2C80A1172FC591F964D4DC0E8BAF493C92FE678B6B8B07D362607EBD33AB 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
security: SHA-256Certificate finger print: 0855414AF5F5FD7E264F8B002A39CCED67E5952E89B61B680CC847BAA34944DE 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
security: SHA-256Certificate finger print: 0AE1484292B20EE696D4593DBE46F91479F8DAD58FC057CFD52FA3FA8FB3CE4B 
security: Checking if certificate is in Internet Explorer DISALLOWED certificate store 
basic: JNLP2Manager.initialize(): JNLP not available: /cardtocloud/cardtocloud.jnlp 
basic: exception: null. 
java.lang.NullPointerException 
    at sun.plugin2.applet.JNLP2Manager.getAppInfo(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Ignored exception: java.lang.NullPointerException 
basic: Dialog type is not candidate for embedding 
security: Reset deny session certificate store 

Antwort

0

Bitte geben Sie den folgenden Befehl in Java Control Panel hinzufügen. gehen Sie zu Java - Ansicht - in Laufzeitparameter fügen Sie diesen Befehl ein.

-Djava.net.preferIPv4Stack = true.

Es funktioniert für mich ohne irgendwelche Probleme.