Since updating to Java 7 Update 45, my customers get a new yellow box in a Java security warning when launching the Smart Client. It says:
This application will be blocked in a future Java security update because the JAR file manifest does not contain the Permissions attribute. Please contact the Publisher for more information. More Information
Clicking ‘More Information’ gives the usual warning about the JNLP file not having an associated digital signature, but it also gives this warning in another yellow box:
Note to the Publisher: Security features to prevent unauthorized redistribution of your Java application will cause this application to be blocked in the future. See current Java documentation about JAR Manifest entries for the changes that need to be made. Note to users: For any questions, please contact the Publisher who provided you with this application.
My server is running Servoy 6.1.5, but this also occurs on my test server running Servoy 7.1.0. I am close to having my next version of solutions finished and had planned to upgrade the server to 7.3, but I haven’t tested anything with 7.3 yet. Will that fix this problem?
Upgrading the Servoy server to 7.3 does not fix this problem. My next guess is to remove my third-party beans and plugins to see if that changes anything.
Java console displays the following on solution startup:
Every time I use the Signtester Tool, it bumps on the file wicket-extensions.jar with these messages:
C:\Servoy 7.x.x\application_server.\lib\wicket-extentions.jar didnt verify
C:\Servoy 7.x.x\application_server.\lib\wicket-extentions.jar repacked
C:\Servoy 7.x.x\application_server.\lib\wicket-extentions.jar repacked
Exception in thread “main” java.lang.RuntimeException: exit not allowed, status
= 1
at com.servoy.jarsigner.SignerTest$1.checkExit(SignerTest.java:100)
at java.lang.Runtime.exit(Unknown Source)
at java.lang.System.exit(Unknown Source)
at sun.security.tools.JarSigner.run(Unknown Source)
at com.servoy.jarsigner.SignerTest.dir(SignerTest.java:260)
at com.servoy.jarsigner.SignerTest.main(SignerTest.java:130)
Do I just need to pull this jar out and replace it after signing?
I had forgotten to close Developer and also was not using the ‘overwrite’ parameter. I made a self-signed keystore file and used the following command with Signtester.jar v1.3, using the domain of my server as the value for Dcodebase (in this case, localhost):
I no longer get the Java security warning for Servoy files at all and all the 'Missing codebase…" lines no longer appear in the console. I still get a warning for the one bean I need to sign with a code-signing certificate, but I feel confident that I will be able to figure that out.
I think we are in this trap as well and get these message at startup of our application and all clients (some dozens) are stuck, i. e. can’t work. As the customer has the BYOD strategy, we have no control about what Java version users have (but quite a lot have upgraded to Java 1.7.0_45).
Looking at this, you have to look deeper into the browser-suite!
is the browser-suite Java 7 compatible? mac? windows?
Missing Application-Name: is just a warning, not a blocker!
and if you have signed everything with the latest signtester, this warning should disappear
All this says here is that some jars have a missing attribute.
The jars seems to load and the native library as well.
Without any exception stack trace it’s hard to tell whether the browser suite has anything to do with it…
I removed the browser suite and that was it. It works now as expected. So the problems seems to be related to the browser suite.
ptalbot:
All this says here is that some jars have a missing attribute.
The jars seems to load and the native library as well.
Without any exception stack trace it’s hard to tell whether the browser suite has anything to do with it…
Even if you have signed your jars with a code-signing certificate and used the latest version of signtester.jar and included the argument -Dcodebase= and replaced your server’s servoy.vmClientArgs with a space, you will still get the yellow balloon talking about the Jar manifest missing permissions attributes because this is a Java 7 Update 45 bug. See this discussion for more info: https://www.servoyforge.net/issues/745#note-23