使用Java 7启动JNLP时的NoSuchAlgorithmException

升级到
Java 7后,启动远程jnlp时,我在Java控制台中看到以下异常:

java.security.KeyStoreException: WIExplorerMy not found
    at java.security.KeyStore.getInstance(Unknown Source)
    at com.sun.deploy.services.WPlatformService$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.services.WPlatformService.getBrowserClientAuthKeyStore(Unknown Source)
    at sun.plugin2.applet.context.InitialJNLPExecutionContext.getBrowserClientAuthKeyStore(Unknown Source)
    at sun.plugin2.main.client.DisconnectedExecutionContext.getBrowserClientAuthKeyStore(Unknown Source)
    at sun.plugin2.applet.Applet2BrowserService.getBrowserClientAuthKeyStore(Unknown Source)
    at com.sun.deploy.security.X509DeployKeyManager.<init>(Unknown Source)
    at com.sun.deploy.net.protocol.https.Handler$Initializer$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.net.protocol.https.Handler$Initializer.<clinit>(Unknown Source)
    at com.sun.deploy.net.protocol.https.Handler.openConnection(Unknown Source)
    at java.net.URL.openConnection(Unknown Source)
    at com.sun.deploy.net.BasicHttpRequest.createUrlConnection(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.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.security.NoSuchAlgorithmException: WIExplorerMy KeyStore not available
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at java.security.Security.getImpl(Unknown Source)
    ... 26 more

此外,错误屏幕显示“错误.单击以查看详细信息”约2秒钟后会消失.

除此之外,一切似乎都正常运作.

使用Java 6,一切都按预期工作.

想法如何解决?

最佳答案 我认为一些最新的Java 7更新已经废弃了一些加密方案,因此如果您在使用Java 6时使用其中一个加密方案,这将是一个完全正常的例外.

list of enhancements and changes for Java 7

Weak cipher suites deprecated

Per RFC 4346, RFC 5246, and RFC 5469, some cipher suites have been made obsolete and should not be used. These obsolete suites are all disabled by default in SunJSSE. For details, consult the cipher suite lists in the documentation about the SunJSSE provider.

话虽如此,这将解释NoSuchAlgorithmException,但错误消息似乎提到了一个关于缺少密钥库的事情,所以这可能是无关的,我们需要你提供一个SSCCE或任何足够接近一个的东西.

点赞