问题
I have made a Java Swing GUI and am trying to put it onto a website, I have put my html file in the lwjgl_jar folder and that solved my previous problem about not being able to find the AppletLoader but I am now getting a new error:
Permissions for Applet Refused. Please accept the permissions dialogue to allow the applet to continue the loading process.
The error appeared after telling Java to "run this time". So I searched online and found the solution to my problem is that the my jar files have not been signed, which is strange considering that I am using Slick and lwjgl files which I think should already be signed, but my racegame.jar which holds my applet may need signing, so I followed this guide to signing jars:
and got to the last step and typed: jarsigner -keystore myKeystore racegame.jar myself
to sign my racegame.jar but it said:
jarsigner: unable to open jar file: racegame.jar
This error also occurs with any other jar file I try it with.
Why is it not opening the jar file and signing it? all the other steps were followed and tested exactly like they where shown in the guide.
回答1:
I once found this article on the net regarding How to sign the JAR Files, this might can have some contents, which can help you in some way. Please have a look :
Sign All Applet JAR files
Applets are back! And now applets can do more than ever before thanks to
signed JAR files. By signing your JARs, you can get access to the filesystem
and other resources that were previously off-limits, provided the user
grants your applet those privileges. And signing JAR files is now very easy
thanks to tools bundled with the JDK. However, be certain to sign all JAR files
used by your Java applet. If you sign the JAR file with your main applet class,
your applet will launch. If it later uses classes from another JAR file, though,
you can run into trouble. If the newly-loaded class tries a restricted operation
and its JAR file isn't signed, your applet will fail at that point with a
security exception. Rather than waiting for this and debugging it when it occurs,
save yourself the trouble and sign all of your JAR files up front.
You can create your own certificate using tools provided by the JDK.
keytool -genkey -alias mykey lets you create your own certificate. Be sure to
specify an expiration date far in the future with -validity 1000. The default is
only 6 months.
Sign your JAR files with jarsigner my.jar mykey (where my.jar is the name of
the jar file to sign).
Deploy all of your JAR files to a folder on your web server, add an HTML page
with the applet tag, and let the world enjoy your new applet with powerful
permissions.
keytool -genkey -v -key store mycompany.keystore -alias myalias_goes_here -keyalg RSA -keysize 2048 -validity 10000
来源:https://stackoverflow.com/questions/14303644/signing-my-jar-files