2013-12-12 131 views
1

從java7u21升級到java7u45後,出現了很多與安全相關的更改。java web start應用程序無法在java7u45上啓動

因此,首先出現與清單文件中缺少屬性有關的警告。按照之前提供的solution修復它。

Permissions: all-permissions 
Codebase: * 
Application-Name: My Name 

將屬性添加到MANIFEST文件並重新對它們進行重新簽名。
現在,當我啓動使用我的JNLP文件的應用程序,它提供了在這個特別的罐子

Error: Unable to load resource 
http://<path>/org.eclipse.core.filesystem.win32.x86_<version>.jar 
java.io.IOException: Invalid signature file digest for Manifest main attributes 
    at com.sun.deploy.cache.CacheEntry$10.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source) 
    at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source) 
    at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source) 
    at com.sun.deploy.cache.Cache.downloadResourceToCache(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.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) 

驗證清單文件這個罐子缺少的屬性如下錯誤並重新簽署。但同樣的錯誤。

任何指針?

+0

這是.jar庫文件還是主應用程序.jar? – ryvantage

+0

對不起,延遲的答覆很多。這個.jar是eclipse庫文件。 – holmes840

+0

@優勢 - 我明白了。這個'org.eclipse * .jar'和一些其他的eclipse jar文件在META-INF /目錄下有它們自己的簽名文件(ECLIPSEF.SF)。由於這個額外的SF文件仍然具有之前MANIFEST主屬性的** SHA-DIGEST **(現已更改)**,因此該插件未能加載。我從所有插件中刪除了這些和其他簽名文件,並用我自己的證書重新簽名。 – holmes840

回答

0

org.eclipse*.jar和其他一些日食jar文件必須在META-INF/目錄自己的簽名文件(ECLIPSEF.SF)

由於這個額外的SF文件仍然有以前的MANIFEST主要屬性(現已更改)的SHA-DIGEST,插件未能加載。

從所有插件中刪除這些和其他簽名文件並重新簽名。 :-)

相關問題