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
模拟就是一个完整的例子。