- Java Client Error: «Unable To Launch The Application», The Exception Reads: «Found unsigned entry in resource. » (Doc ID 1595757.1)
- Cause
- To view full details, sign in with your My Oracle Support account.
- Don’t have a My Oracle Support account? Click to get started!
- Found unsigned entry in resource
- Solution 3
- Related videos on Youtube
- Marc Rasmussen
- Comments
- Java Web Start complains about unsigned JARs August 2011
- Fixing it
- Advertisement
- jdk1.5 found unsigned entry in resource
Java Client Error: «Unable To Launch The Application», The Exception Reads: «Found unsigned entry in resource. » (Doc ID 1595757.1)
When attempting to launch the Java Client the user gets the pop up message with below error:
Error: Unable to launch the application, the following error is found if you check the details of this error by clicking on the exception tab.
com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http:///JavaClient/lib/jagile/saaj.jar
at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.sun.javaws.security.SigningInfo.check(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- Open Java Control Panel
- From General tab, goto Settings
- Delete Files
- Check ‘Trace and Log Files’ and ‘Cached Applications and Applets’, and OK
- Remove check from ‘Keep temporary files on my computer.’ and OK
- Apply
- Access to Java Client URL: http://appserver:7001/JavaClient/start.html
- Launch
Cause
To view full details, sign in with your My Oracle Support account.
Don’t have a My Oracle Support account? Click to get started!
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.
Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. � Oracle | Contact and Chat | Support | Communities | Connect with us | | | | Legal Notices | Terms of Use
Found unsigned entry in resource
The problem can also occur with older Java Versions if you sign with a newer Java versions.
- Sign with 1.8u74 and older works with all versions
- Sign with 1.8u101 and newer works with 1.7u80 and newer but not with older versions on the client.
There seems a incompatible change in the sign algorithm.
Solution 3
I had a similar problem with my applications.
I’ ve a java swing application deployed with javaws:
- when I run the application using JRE 1.6 I get the exception
- when I run the application using JRE 1.7 and JRE 1.8 it works
I checked all the jar, MANIFEST.MF etc. and all was fine. Finally I discovered that I’ve used a new TSA endpoint to sign my jars.
- when I use this TSA http://tsa.starfieldtech.com the application run fine with JRE6,8
- when I use this TSA http://services.globaltrustfinder.com/adss/tsa the application runs only with JRE8
From this resource http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html I read To generate the time stamp, jarsigner communicates with the TSA with the Time-Stamp Protocol (TSP) defined in RFC 3161. When successful, the time stamp token returned by the TSA is stored with the signature in the signature block file.
Someone can give more insight about this problem? In particular I don’t want to be forced to use a particular TSA. Why there are this differences between TSA? Thanks
Related videos on Youtube
Marc Rasmussen
Updated on November 12, 2020
Comments
Drift og Performance, *** Servicecenter
Found unsigned entry in resource
com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://*****:****/tcm2012.jar at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source) at com.sun.javaws.security.SigningInfo.check(Unknown Source) at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source) at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source) at com.sun.javaws.Launcher.prepareResources(Unknown Source) at com.sun.javaws.Launcher.prepareAllResources(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.launch(Unknown Source) at com.sun.javaws.Main.launchApp(Unknown Source) at com.sun.javaws.Main.continueInSecureThread(Unknown Source) at com.sun.javaws.Main.access$000(Unknown Source) at com.sun.javaws.Main$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Java Web Start complains about unsigned JARs August 2011
This post has been originally posted at blog.atlashost.eu, which I decided to discontinue.
Please visit atlashost.eu to get familiar with AtlasHost.
You are developing a secure Java Web Start (JNLP) application, you sign JARs with jarsigner tool, you have a valid certificate but some people still get Found unsigned entry in resource error message although your JARs are signed and jarsigner -verify accepts them. Did you encounter this problem too?
Exact error message in applet console:
#### Java Web Start Error: #### Found unsigned entry in resource: http://my.spartez.com/download/screensnipe/jdom-1.0.jar com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://my.spartez.com/download/screensnipe/jdom-1.0.jar at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(SigningInfo.java:411) at com.sun.javaws.security.SigningInfo.check(SigningInfo.java:292) at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(LaunchDownload.java:1741) at com.sun.javaws.LaunchDownload.checkSignedResources(LaunchDownload.java:1508) at com.sun.javaws.Launcher.prepareResources(Launcher.java:1232) at com.sun.javaws.Launcher.prepareAllResources(Launcher.java:621) at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:327) at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:199) at com.sun.javaws.Launcher.launch(Launcher.java:116) at com.sun.javaws.Main.launchApp(Main.java:416) at com.sun.javaws.Main.continueInSecureThread(Main.java:248) at com.sun.javaws.Main$1.run(Main.java:110) at java.lang.Thread.run(Thread.java:662)
Fixing it
I googled for it and found this topic. It turns out that disabling Java plugin caching is sometimes a cause of this problem. Just enable Java plugin caching and the problem is gone.
However, because you encountered this problem, you probably want the caching disabled. Applet and Web Start developers tend to disable cache so that they always get a current version of application. How to make the Java Web Start application working with disabled cache?
In my case, application consists of five signed JARs: screensnipe-1.5-rc3.jar, forms-1.2.1.jar, jdom-1.0.jar, jide-oss-2.5.8.jar and jhlabs-filters.jar. Java claims that JDOM JAR is unsigned, others are fine. I took a look at the JAR for something distinctive that can cause this particular JAR to fail verification. Filename length was considered, JARs order in JNLP file, existence of classes in root package, META-INF/ directory content and so on. It was META-INF/MANIFEST.MF file that contained something that Java Web Start verifier failed on.
Name: org/jdom/output/ Implementation-Vendor: jdom.org Implementation-Title: org.jdom.output Implementation-Version: 1.0 Specification-Vendor: jdom.org Specification-Title: JDOM Output Classes Specification-Version: 1.0 Name: org/jdom/transform/ (. )
Removing directory entries from Manifest file made it working. Woah. Note: Manifest file is valid — Java Web Start verifier just fails on signed directories when caching is disabled.
Advertisement
I encountered this problem while developing a ScreenSnipe, an awesome screenshot tool that integrates seamlessly with Atlassian JIRA and Confluence. All AtlasHost customers get it preinstalled in their instance. Others can try out ScreenSnipe by grabbing it from Atlassian Plugin Exchange or installing via Atlassian Plugin Manager in your JIRA/Confluence.
Damian Nowak
CEO & Ruby Developer
jdk1.5 found unsigned entry in resource
posted 17 years ago
Testing just now with webstart on windows with JDK version 1.5 I came across an error where webstart refused to launch my application claiming «found unsigned entry in resource». In other words, it claimed that my jar file was not properly signed. But the jar file IS properly signed, and worked fine with java 1.4.
A little research on forum.java.sun showed that others have had this problem and that the solution is simply to try again. After reloading the jnlp file three times, the problem went away.
I don’t like the idea that my customers may have to do this. They would probably assume there was an error in our application, not an error in WebStart, and might not be willing to re-try three times.
Anyone else seen this problem?
Know any work-arounds? Maybe I need to use a jdk1.5 jarsigner rather than the jdk1.4 jarsigner?
posted 17 years ago
I have this problem as well with 1.5.0. I get the error the first time I try to start the app when it needs to download the jars — when I click the link again, it tries again and downloads it without complaining about anything.
I have yet to find a solution to this. I think it may be a bug that’s been there since 1.4.2:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4920115
posted 17 years ago
Here is another link at the sun site about this bug. It seems to have been around for a long time:
posted 12 years ago
I had this problem on 1.6. It happened consistently, even after several tries. Turns out the PC I was on had disabled Java caching.
Open Java Control Panel (from the Windows Control Panel)
Under the General tab, click “Settings…” in Temporary Internet Files
Check the “Keep temporary files on my computer” checkbox
posted 11 years ago
Somaiah is right. Disabling Java plugin caching is sometimes causing this error. I investigated this deeper and found the reason why it happens. Some antries in META-INF/MANIFEST.MF need to be removed to make the JAR working. Read my blogpost: http://blog.atlashost.eu/post/found-unsigned-entry-in-resource-java-web-start.html
It’s sad that this bug remains for *years* there.
posted 11 years ago
Hi Somaiah & Damian, I already have the «Keep temporary files on my computer» option checked and yet face the issue. Any other workaround? My application is slightly different though: it is a JavaFX 2.0 application signed using JavaFX’s
Also, can we not run a JNLP app without signing it in the first place?
Sheriff
posted 11 years ago
Hi shrihari, and welcome to the Ranch!
I’m not sure whether Somaiah and Damian still visit this forum, as they both posted only once some time ago.
Other people here might still be able to help you, though. You should probably tell us what your problem is (the exact error message etc.). In any case, you can use
to see whether the file is correctly signed.
posted 11 years ago
I have a similar problem to shrihari. I’m building a JavaFX application with extensive reference to 3rd party libraries. I removed the signatures from all the files and then resigned using the option in Netbeans, under project properties.
I’m getting the security error as mentioned however.
com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: file:/C:/NetBeansProjects/Besieged/dist/Besieged.jar
at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.sun.javaws.security.SigningInfo.check(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
I’ve checked using jarsigner -verify on the file in question, after I built the project.
The answer I get to that query is:
jar verified.
Warning:
This jar contains entries whose certificate chain is not validated.
(I also get a 6 month expiry warning, not sure that matters too much).
Also in windows control panel -> java control panel -> settings -> temporary internet files (as per suggestion above), the cache is switched on, eliminating one particular workaround.
Any suggestions would be greatly appreciated.