2014-10-15 7 views
6

Ho un'applet Java che utilizzo per leggere i dati della scheda SD dal PC dell'utente. L'applet vive su un sito Web al quale ci si collega. Per accedere al sito Web è necessario utilizzare un certificato del browser. Una volta effettuato l'accesso, vai alla pagina di download della scheda SD, l'applet inizializza, legge i dati della carta e li invia ad alcuni JavaScript nella pagina.L'applet Java non verrà caricata in IE dopo l'aggiornamento a Java 8

Il problema che ho ora è che l'applet non carica da quando installa Java 8 sul mio browser. Nello specifico non funziona in nessuna versione di IE (testato 8, 9, 10 e 11). Funziona bene in Firefox. Non ho provato Chrome.

Non ho trovato nessun altro che abbia un problema simile. Potrebbe essere perché è relativamente nuovo. Qualcuno sa perché questo sta accadendo e ha qualche idea su come risolverlo?

C'è uno stacktrace nella console Java in IE8 che sembra rilevante. Qui ci sono alcuni pezzi interessanti:

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 

Edit: Ecco un pezzo aggiuntivo di informazioni. L'applet funziona correttamente su un server diverso con OpenSSL 1.0.1i. L'applet non funziona con il server originale con OpenSSL 1.0.0m.

Ecco il registro completo. Lo stacktrace non viene visualizzato nel registro per Firefox.

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 

risposta

0

Si prega di aggiungere il seguente comando nel Pannello di controllo Java. passare a java - view - in parametro run time, incollare questo comando.

-Djava.net.preferIPv4Stack = true.

Ha funzionato per me senza problemi.