使用Glassfish 4.1和Java7签署Java Web Start应用程序

时间:2014-10-10 20:28:16

标签: java glassfish

我正在尝试使用GlassFish 4.1,本地JDK 1.7更新51运行Web启动应用程序,并且遇到“应用程序被安全设置阻止”消息。

这是我试图让它发挥作用的地方:
1.在Java控制面板的“异常站点列表”中添加了http://hostname.localdomain.com:8080。还尝试了http://hostname.localdomain.com:8080/___JWSappclient/http://hostname.localdomain.com:8080/clientName.jnlp


2.从Glassfish的keystore.jks导出s1as密钥并将其导入JRE cacerts: $ keytool -exportcert -keystore keystore.jks -alias s1as -file server.csr $ keytool -importcert -keystore jre/lib/security/cacerts -alias s1as -file server.csr

我可以看到用s1as键签名的罐子,但javaws仍然抱怨。 Glassfish使用sun-application-client.xml

中的设置自动生成JNLP

感谢有关如何解决此错误的任何帮助。我意识到如果我在客户端使用JRE7更新21,这样可以正常工作但我想稍后尝试使用Java 8,所以不能坚持使用Java 7.如果重要的话,我使用的是Ubuntu。

1 个答案:

答案 0 :(得分:0)

我已经复制了你的问题并找到了解决方法。

似乎问题与glassfish 4.1自动生成的jnlp文件和新的java安全jdk 1.7 u 25或更高版本有关。

如果安装java 1.7.0_21或更早版本,Java Web Start应用程序将首先使用早期版本中的javaws。

我使用netbeans 8.0.2,java 1.8_31和GF 4.1简化了这个问题。我创建了一个Java EE"企业应用程序客户端"没有代码更改。部署它,你不能从glassfish控制台或7.1 u25或更高版本的任何javaws运行它。但是,如果您从命令行使用javaws 7.1 u21或更早版本,它将启动。 有趣的是,该应用程序在java 1.8 u31环境中运行。

必须是玻璃鱼中的错误。