刚刚有人向我指出,我的博客中的 Java Web Start 应用程序,例如我的按键绑定 http://tips4java.wordpress.com/2008/10/10/key-bindings/条目,由于以下安全错误而不再起作用:
经过一些调查,我确定 JDK7 中的安全性得到了改进,并且默认设置在Security Tab
of the Java Control Panel
发现于Windows Control Panel
被设定为High
这会阻止应用程序运行。如果您确实将此设置更改为Medium
,然后您可以选择接受该应用程序并且它将运行。我猜大多数人都不想这样做,所以看起来我需要这样做sign my jar file
.
问题是我真的不明白整个签名过程。
目前,我首先使用以下命令创建一个 .jar 文件:
jar cfev KeyBindings.jar KeyBindings KeyBindings*.class
然后,我创建 .jnlp 文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for KeyBindings -->
<jnlp spec="1.0+"
codebase="http://www.camick.com/java/webstart/"
href="KeyBindings.jnlp">
<information>
<title>KeyBindings Application</title>
<vendor>Tips4Java</vendor>
<homepage href="http://tips4java.wordpress.com/"/>
<description>KeyBindings Application</description>
<description kind="short">Display the Key Bindings of Swing components</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.6+"/>
<jar href="KeyBindings.jar"/>
</resources>
<application-desc main-class="KeyBindings"/>
</jnlp>
.jar 和 .jnlp 文件上传到服务器,并使用以下 HTML 启动 Web Start 应用程序:
<a href="http://www.camick.com/java/webstart/KeyBindings.jnlp">...</a> - Using Java Web Start (JRE 6 required)
有人可以告诉我创建可信应用程序(或签名应用程序,无论正确的术语是什么)需要遵循的其他步骤。
目前,我的 Java Web Start 应用程序没有使用任何 IDE。我确实安装了 Eclipse 但从未使用过它。尝试使用 Eclipse 生成签名的 .jar 文件会更好吗?
Update:
这个过程比我想象的更加复杂和昂贵。我不想向证书颁发机构付费来签署我的 .jar 文件。另外,我目前使用的免费网络托管网站不支持 SSL,因此我无论如何都无法使用签名的 .jar 文件,因为我不想找到新的托管网站。
因为我写博客只是为了好玩,所以我不想承担使用签名 .jar 的额外成本,所以我想我必须找到一种不同的方式来演示代码。
谢谢帮助。