posts - 19,  comments - 11,  trackbacks - 0
看了 Swing 的Java Web Start 学习 正好自己也写了一个Java Application, 而同事是用Mac,他不太会设java 环境, 于是决定把自己的application 放在server 上, 用Java Web Start 技术,这样就方便别人使用.

1.keystore的有效时间
keytool -genkey -keystore myKeystore -alias jwstest -validity 365
用 -validity valDays 来设定, 缺省的是 6个月

2.Sign Jar文件
jarsigner -keystore myKeystore -storepass xxxx yourtest.jar jwstest
直接用 storepass 传password 给jarsigner, 不需要每次单独输入, 很适合做批处理,对多个Jar一起sign. 因为用JWS,所以引用的Jar都需要Sign.

3. 引用的已经被别人Sign 过的Jar
如果不特殊处理,可能会遇到 Exception
JAR resources in JNLP file are not signed by same certificate
验证JAR 是不是已经被sign 可以用-verfiy这个命令
jarsigner -certs -verbose -verify yourtest.jar

通常解决的办法是把这个Sign过的JAR 写成单独的JNLP, 然后在自己的主JNLP中引用它
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/webstart/" href="signedjar.jnlp">
   <information>
      <title>Signed Jar</title>
      <vendor>ABC Company</vendor>
      <offline-allowed/>
   </information>
   <offline-allowed/>
   <resources>
      <jar href="signed.jar"/>
   </resources>
   <component-desc/>
</jnlp>

<resources>
      <j2se version="1.5+"/>
      <jar href="jaxbw.jar"/>
      <jar href="substance.jar"/>
      <jar href="jaxb-api.jar"/>
      <jar href="jaxb-impl.jar"/>
      <jar href="jaxb-xjc.jar"/>
      <jar href="jsr173_api.jar"/>
      <extension name="signedjar" href="signedjar.jnlp"/>
   </resources>


参考网站
http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/contents.html
http://weblogs.java.net/blog/kirillcool/archive/2005/05/signing_jars_fo.html
posted on 2008-11-14 15:07 happyy2k 阅读(1271) 评论(0)  编辑  收藏 所属分类: JAVA

只有注册用户登录后才能发表评论。


网站导航:
 

<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(2)

随笔分类(20)

随笔档案(12)

搜索

  •  

最新评论

阅读排行榜

评论排行榜