Java Web Start和Security

我刚刚向我指出,我的博客中的Java Web Start应用程序,例如我的Key Bindings条目,由于以下安全性错误而不再起作用:

在此处输入图像描述

在进行一些调查后,我确定JDK7中的安全性已得到改进,并且在Windows Control Panel上找到的Java Control Panel的“ Security Tab上的默认设置设置为“ High ,这会阻止应用程序运行。 如果您确实将此设置更改为“ Medium ,则可以选择接受该应用程序并运行该应用程序。 我猜大多数人都不想这样做,所以看起来我需要sign my jar file

问题是我真的不明白整个签约过程。

目前,我首先使用以下命令创建.jar文件:

 jar cfev KeyBindings.jar KeyBindings KeyBindings*.class 

然后我创建.jnlp文件,如下所示:

     KeyBindings Application Tips4Java  KeyBindings Application Display the Key Bindings of Swing components         

将.jar和.jnlp文件上载到服务器,并使用以下HTML启动Web Start应用程序:

 ... - Using Java Web Start (JRE 6 required) 

有人可以向我展示我需要遵循的额外步骤,以便创建一个受信任的应用程序(或签名的应用程序,无论适当的术语是什么)。

我目前不使用任何IDE用于我的Java Web Start应用程序。 我确实安装了Eclipse但从未使用过它。 尝试使用Eclipse生成签名的.jar文件会更好吗?

更新:

这个过程比我想象的更复杂,更昂贵。 我不想向证书颁发机构支付签署我的.jar文件的费用。 此外,我目前使用不支持SSL的免费网站托管网站,因此我无法使用已签名的.jar文件,因为我不想找到新的托管网站。

由于我只是为了好玩我的博客,我不想承担使用签名.jars的额外费用,所以我想我必须找到一种不同的方式来演示代码。

谢谢你的帮助。

您的小程序必须由众所周知的证书颁发机构(CA)签名。

你可以使用它们中的任何一个(Digicert,Thawte,Verisign等……)

CA将有关于如何签署jar文件的说明。

以下是Digicert的文档:

Java代码签名证书指南 – 为具有集成身份保证的Java小程序数字签名代码

使用此处概述的方法,我继续使用自签名证书从受信任的站点部署开源Swing应用程序。 检查SHA1 fingerprint可确保我收到我签名的JAR,而不会放松安全性。 这个Subway模拟就是一个完整的例子。