天天看點

Java Web Start 學習

1.keystore的有效時間

Java Web Start 學習

keytool -genkey -keystore mykeystore -alias jwstest -validity 365

用 -validity valdays 來設定, 預設的是 6個月

2.sign jar檔案

Java Web Start 學習

jarsigner -keystore mykeystore -storepass xxxx yourtest.jar jwstest

直接用 storepass 傳password 給jarsigner, 不需要每次單獨輸入, 很适合做批處理,對多個jar一起sign. 因為用jws,是以引用的jar都需要sign.

3. 引用的已經被别人sign 過的jar

如果不特殊處理,可能會遇到 exception

Java Web Start 學習

jar resources in jnlp file are not signed by same certificate

驗證jar 是不是已經被sign 可以用-verfiy這個指令

Java Web Start 學習

jarsigner -certs -verbose -verify yourtest.jar

通常解決的辦法是把這個sign過的jar 寫成單獨的jnlp, 然後在自己的主jnlp中引用它

Java Web Start 學習

<?xml version="1.0" encoding="utf-8"?>

Java Web Start 學習

<jnlp spec="1.0+" codebase="http://localhost:8080/webstart/" href="signedjar.jnlp">

Java Web Start 學習

   <information>

Java Web Start 學習

      <title>signed jar</title>

Java Web Start 學習

      <vendor>abc company</vendor>

Java Web Start 學習

      <offline-allowed/>

Java Web Start 學習

   </information>

Java Web Start 學習

   <offline-allowed/>

Java Web Start 學習

   <resources>

Java Web Start 學習

      <jar href="signed.jar"/>

Java Web Start 學習

   </resources>

Java Web Start 學習

   <component-desc/>

Java Web Start 學習

</jnlp>

Java Web Start 學習
Java Web Start 學習
Java Web Start 學習
Java Web Start 學習

<resources>

Java Web Start 學習

      <j2se version="1.5+"/>

Java Web Start 學習

      <jar href="jaxbw.jar"/>

Java Web Start 學習

      <jar href="substance.jar"/>

Java Web Start 學習

      <jar href="jaxb-api.jar"/>

Java Web Start 學習

      <jar href="jaxb-impl.jar"/>

Java Web Start 學習

      <jar href="jaxb-xjc.jar"/>

Java Web Start 學習

      <jar href="jsr173_api.jar"/>

Java Web Start 學習

      <extension name="signedjar" href="signedjar.jnlp"/>

Java Web Start 學習
Java Web Start 學習
Java Web Start 學習