web-dev-qa-db-ja.com

JavaアプレットはロードされませんIE after Java 8アップグレード

ユーザーのPCからSDカードデータを読み取るために使用するJavaアプレットがあります。アプレットは、ログインしたWebサイトにあります。Webサイトにログインするには、次の手順を実行する必要があります。ブラウザ証明書を使用します。ログインすると、SDカードのダウンロードページに移動し、アプレットが初期化され、カードデータが読み取られ、ページ上のJavaScriptに送信されます。

私が今抱えている問題は、ブラウザにJava 8をインストールしてから、アプレットがロードされないことです。具体的には、どのバージョンのIE(テスト済み8、9、10、11)。Firefoxでは正常に動作します。Chromeは試していません。

同様の問題を抱えている人は他にいません。比較的新しいからかもしれません。誰かがこれが起こっている理由を知っていて、それを修正する方法を知っていますか?

IE8のJavaコンソールには、関連性があるように見えるスタックトレースがあります。興味深い部分がいくつかあります。

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

編集:ここに追加情報があります。アプレットは、OpenSSL1.0.1iを使用する別のサーバーで正しく機能します。アプレットは、OpenSSL1.0.0mを備えた元のサーバーでは機能しません。

これが完全なログです。スタックトレースは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
7
Cody Jenkins

Javaコンソールで「TLS1.2」をオフにしてみましたか?

Java8はデフォルトでTLS1.2を使用しているようです。そのため、サーバーがTLS 1.2をサポートしていない場合は、前述と同じエラーが発生する可能性があります。

https://blogs.Oracle.com/Java-platform-group/entry/Java_8_will_use_tls

2
jijitau

以下のコマンドをJavaコントロールパネルに追加してください。Java--view--inruntimeパラメーターに移動して、このコマンドを貼り付けてください。

-Djava.net.preferIPv4Stack=true.

それは問題なく私のために働いています。

0
user7300604